diff --git a/public/content/translations/el/ai-agents/index.md b/public/content/translations/el/ai-agents/index.md new file mode 100644 index 00000000000..0b40a8f27ec --- /dev/null +++ b/public/content/translations/el/ai-agents/index.md @@ -0,0 +1,96 @@ +--- +title: AI agents +metaTitle: Πράκτορες ΤΝ | Πράκτορες ΤΝ στο ethereum +description: Μια επισκόπηση για πράκτορες ΤΝ στο ethereum +lang: el +template: use-cases +emoji: ":robot:" +sidebarDepth: 2 +image: /images/ai-agents/hero-image.png +alt: Άνθρωποι που συγκεντρώθηκαν στο τραπέζι του τερματικού σταθμού +summaryPoint1: Τεχνητή Νοημοσύνη που αλληλεπιδρά με το blockchain και κάνει συναλλαγές ανεξάρτητα +summaryPoint2: Ελέγχει πορτοφόλια και κεφάλαια στην αλυσίδα +summaryPoint3: Προσλαμβάνει ανθρώπους ή άλλους πράκτορες για εργασία +buttons: + - content: Τι είναι οι υπηρεσίες ΤΝ; + toId: what-are-ai-agents + - content: Εξερεύνηση πρακτόρων + toId: ai-agents-on-ethereum + isSecondary: false +--- + +Φανταστείτε να πλοηγείστε στο Ethereum με έναν βοηθό ΤΝ που μελετά τις τάσεις της αγοράς 24 ώρες το 24ωρο, απαντά σε ερωτήσεις και εκτελεί ακόμη και συναλλαγές για λογαριασμό σας. Καλώς ήρθατε στον κόσμο των πρακτόρων ΤΝ—έξυπνα συστήματα σχεδιασμένα να απλοποιούν την ψηφιακή σας ζωή. + +Στο Ethereum, βλέπουμε καινοτομίες πρακτόρων ΤΝ που κυμαίνονται από εικονικούς influencers και αυτόνομους δημιουργούς περιεχομένου έως πλατφόρμες ανάλυσης αγοράς σε πραγματικό χρόνο, ενδυναμώνοντας τους χρήστες παρέχοντας insights, ψυχαγωγία και λειτουργική αποδοτικότητα. + +## Τι είναι οι υπηρεσίες ΤΝ; {#what-are-ai-agents} + +Οι πράκτορες ΤΝ είναι προγράμματα λογισμικού που χρησιμοποιούν τεχνητή νοημοσύνη για την εκτέλεση εργασιών ή τη λήψη δικών τους αποφάσεων. Μαθαίνουν από δεδομένα, προσαρμόζονται σε αλλαγές και χειρίζονται πολύπλοκες εργασίες. Λειτουργούν ασταμάτητα και μπορούν να εντοπίσουν άμεσα ευκαιρίες. + +### Πώς λειτουργούν οι πράκτορες ΤΝ με τα blockchains {#how-ai-agents-work-with-blockchains} + +Στην παραδοσιακή χρηματιστηριακή, οι πράκτορες ΤΝ συχνά λειτουργούν σε κεντρικά περιβάλλοντα με περιορισμένες εισόδους δεδομένων. Αυτό εμποδίζει την ικανότητά τους να μαθαίνουν ή να διαχειρίζονται περιουσιακά στοιχεία αυτόνομα. + +Αντίθετα, το αποκεντρωμένο οικοσύστημα του Ethereum προσφέρει πολλά βασικά πλεονεκτήματα: + +- Διαφανή δεδομένα: Πρόσβαση σε πληροφορίες blockchain σε πραγματικό χρόνο. +- Πραγματική ιδιοκτησία περιουσιακών στοιχείων: Τα ψηφιακά περιουσιακά στοιχεία ανήκουν πλήρως στους πράκτορες ΤΝ. +- Ισχυρή λειτουργικότητα στην αλυσίδα: Επιτρέπει στους πράκτορες ΤΝ να εκτελούν συναλλαγές, να αλληλεπιδρούν με έξυπνες συμβάσεις, να παρέχουν ρευστότητα και να συνεργάζονται σε πρωτόκολλα. + +Αυτοί οι παράγοντες μετατρέπουν τους πράκτορες ΤΝ από απλά bots σε δυναμικά, αυτοβελτιούμενα συστήματα που προσφέρουν σημαντική αξία σε πολλούς τομείς: + + + + + + + +## Πράκτορες ΤΝ στο Ethereum {#ai-agents-on-ethereum} + +Αρχίζουμε να εξερευνούμε το πλήρες δυναμικό των πρακτόρων ΤΝ, και τα έργα ήδη αξιοποιούν τη συνέργεια μεταξύ ΤΝ και blockchain—ιδιαίτερα στη διαφάνεια και τη νομισματοποίηση. + + + +Πρώτη εμφάνιση της Luna ως καλεσμένη σε podcast + + + +## Πορτοφόλια ελεγχόμενα από πράκτορες {#agent-controlled-wallets} + +Πράκτορες όπως η Luna ή το AIXBT ελέγχουν το δικό τους onchain πορτοφόλι ([το πορτοφόλι του AIXBT](https://zapper.xyz/account/0x0d177181e3763b20d47dc3a72dd584368bd8bf43), [το πορτοφόλι της Luna](https://zapper.xyz/account/0x0d177181e3763b20d47dc3a72dd584368bd8bf43)) επιτρέποντας τους να δίνουν φιλοδωρήματα σε θαυμαστές και να συμμετέχουν σε οικονομικές δραστηριότητες. + +Κατά τη διάρκεια της κοινωνικής καμπάνιας X της Luna #LunaMuralChallenge, η Luna επέλεξε και επιβράβευσε τους νικητές μέσω του πορτοφολιού της Base — σηματοδοτώντας την πρώτη περίπτωση ΤΝ που προσλαμβάνει ανθρώπους για κρυπτογραφική ανταμοιβή. + + +

Καλό να γνωρίζετε

+

Οι πράκτορες ΤΝ και τα σχετικά εργαλεία βρίσκονται ακόμη σε αρχικό στάδιο ανάπτυξης και είναι πολύ πειραματικά—χρησιμοποιήστε τα με προσοχή.

+
+ +## Ελέγξτε το πορτοφόλι σας χρησιμοποιώντας εντολές συνομιλίας {#control-your-wallet-using-chat-commands} + +Μπορείτε να παραλείψετε τις πολύπλοκες διεπαφές του DeFi και να διαχειριστείτε τα κρυπτονομίσματα σας με απλές εντολές συνομιλίας. + +Αυτή η διαισθητική προσέγγιση καθιστά τις συναλλαγές ταχύτερες, ευκολότερες και λιγότερο επιρρεπείς σε λάθη όπως η αποστολή κεφαλαίων σε λάθος διεύθυνση ή η υπερπληρωμή για τέλη. + + + +## Πράκτορες ΤΝ εναντίον bots ΤΝ {#ai-agents-vs-ai-bots} + +Η διάκριση μεταξύ πρακτόρων ΤΝ και bots ΤΝ μπορεί μερικές φορές να είναι συγκεχυμένη, καθώς και τα δύο εκτελούν αυτοματοποιημένες ενέργειες με βάση την είσοδο. + +- Τα bots ΤΝ είναι σαν αυτοματοποιημένοι βοηθοί — Ακολουθούν συγκεκριμένες, προ-προγραμματισμένες οδηγίες για την εκτέλεση καθημερινών εργασιών. +- Οι πράκτορες ΤΝ είναι περισσότερο σαν έξυπνοι σύντροφοι — Μαθαίνουν από την εμπειρία, προσαρμόζονται σε νέες πληροφορίες και λαμβάνουν αποφάσεις μόνοι τους. + +| | AI agents | Ρομπότ AI | +| ----------------------- | ------------------------------------------------------------------------------- | ----------------------------------------------------------- | +| **Αντιδράσεις** | Πολύπλοκες, προσαρμόσιμες, αυτόνομες | Απλές, προκαθορισμένο εύρος, ενσωματωμένες στον κώδικα | +| **Εκπαίδευση** | Μαθαίνει συνεχώς, πειραματισμός, προσαρμογή σε νέα δεδομένα σε πραγματικό χρόνο | Λειτουργεί με προ-εκπαιδευμένα δεδομένα ή σταθερούς κανόνες | +| **Ολοκλήρωση εργασίας** | Στόχος η επίτευξη ευρύτερων στόχων | Εστιάζει μόνο σε συγκεκριμένες εργασίες | + +## Περισσότερες λεπτομέρειες {#dive-deeper} + + + +## Μπορείτε να δημιουργήσετε τον δικό σας πράκτορα ΤΝ {#you-can-build-your-own-ai-agent} + + \ No newline at end of file diff --git a/public/content/translations/el/bridges/index.md b/public/content/translations/el/bridges/index.md index 8b3dca7b6cc..850d3f59d38 100644 --- a/public/content/translations/el/bridges/index.md +++ b/public/content/translations/el/bridges/index.md @@ -95,7 +95,7 @@ _Το Web3 έχει εξελιχθεί σε ένα οικοσύστημα από -## Χρήση γέφυρας {#use-bridge} +## Χρήση γεφυρών {#use-bridge} Η χρήση γεφυρών σας επιτρέπει να μεταφέρετε τα κρυπτονομίσματά σας μεταξύ διαφορετικών κρυπτοαλυσίδων. Δείτε παρακάτω μερικές πηγές που θα σας βοηθήσουν στην εύρεση και χρήση γεφυρών: @@ -104,7 +104,7 @@ _Το Web3 έχει εξελιχθεί σε ένα οικοσύστημα από -## Κίνδυνοι χρήσης γεφυρών {#bridge-risk} +## Κίνδυνος χρήσης γεφυρών {#bridge-risk} Οι γέφυρες βρίσκονται στα αρχικά στάδια ανάπτυξης. Είναι πιθανό ο βέλτιστος σχεδιασμός της γέφυρας να μην έχει ακόμη ανακαλυφθεί. Η αλληλεπίδραση με οποιονδήποτε τύπο γέφυρας ενέχει κινδύνους: diff --git a/public/content/translations/el/community/events/index.md b/public/content/translations/el/community/events/index.md index 382c0b546d6..8dabc7e3ae2 100644 --- a/public/content/translations/el/community/events/index.md +++ b/public/content/translations/el/community/events/index.md @@ -13,6 +13,8 @@ hideEditButton: true Αυτή δεν είναι η πλήρη λίστα, η οποία διαχειρίζεται από την κοινότητά μας. Γνωρίζετε μια εκδήλωση του Ethereum που θα πραγματοποιηθεί για να την προσθέσετε στη λίστα; [Παρακαλούμε προσθέστε την](https://github.com/ethereum/ethereum-org-website/blob/dev/src/data/community-events.json)! + + ## Συναντήσεις Ethereum {#meetups} Δεν εμφανίζεται διαθέσιμη εκδήλωση για εσάς; Δοκιμάστε να συμμετάσχετε σε μια συνάντηση. Οι συναντήσεις είναι μικρότερες εκδηλώσεις που διοργανώνονται από ομάδες του Ethereum - μια ευκαιρία για αυτούς που ενδιαφέρονται για το Ethereum να έρθουν σε επαφή, να μιλήσουν για το Ethereum και να ενημερωθούν για τις πρόσφατες εξελίξεις. diff --git a/public/content/translations/el/developers/docs/apis/json-rpc/index.md b/public/content/translations/el/developers/docs/apis/json-rpc/index.md index 9f048307964..5a61681859a 100644 --- a/public/content/translations/el/developers/docs/apis/json-rpc/index.md +++ b/public/content/translations/el/developers/docs/apis/json-rpc/index.md @@ -207,8 +207,8 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"web3_sha3","params":["0x68656c6c Η πλήρης λίστα τρεχόντων ID δικτύου είναι διαθέσιμη στο [chainlist.org](https://chainlist.org). Δείτε περισσότερα στο: - `1`: Κεντρικό δίκτυο Ethereum -- `5`: Δίκτυο δοκιμών Goerli - `11155111`: Δίκτυο δοκιμών Sepolia +- `560048` : Δίκτυο δοκιμών Hoodi **Παράδειγμα** diff --git a/public/content/translations/el/developers/docs/bridges/index.md b/public/content/translations/el/developers/docs/bridges/index.md new file mode 100644 index 00000000000..de1970d9c01 --- /dev/null +++ b/public/content/translations/el/developers/docs/bridges/index.md @@ -0,0 +1,137 @@ +--- +title: Γέφυρες +description: Μια επισκόπηση της γεφύρωσης για τους προγραμματιστές +lang: el +--- + +Με την εξάπλωση των κρυπτοαλυσίδων επιπέδου 1 και των λύσεων [κλιμάκωσης](/developers/docs/scaling/) επιπέδου 2, καθώς και με τον συνεχώς αυξανόμενο αριθμό αποκεντρωμένων εφαρμογών που διασταυρώνονται μεταξύ αλυσίδων, η ανάγκη για επικοινωνία και μετακίνηση περιουσιακών στοιχείων μεταξύ αλυσίδων έχει γίνει ένα ουσιαστικό μέρος της υποδομής δικτύου. Οι διαφορετικοί τύποι γεφυρών βοηθούν στην υλοποίηση του έργου. + +## Ανάγκη για γέφυρες {#need-for-bridges} + +Οι γέφυρες υπάρχουν για τη διασύνδεση των δικτύων blockchain. Επιτρέπουν τη συνδεσιμότητα και τη διαλειτουργικότητα μεταξύ των blockchain. + +Οι κρυπτοαλυσίδες ζουν σε μεμονωμένα περιβάλλοντα, που σημαίνει ότι δεν υπάρχει τρόπος για τις κρυπτοαλυσίδες να κάνουν συναλλαγές και να επικοινωνούν φυσικά με άλλες κρυπτοαλυσίδες. Ως αποτέλεσμα, ενώ θα μπορούσε να υπάρξει σημαντική δραστηριότητα και καινοτομία μέσα σε ένα οικοσύστημα, περιορίζεται από την έλλειψη συνδεσιμότητας και διαλειτουργικότητας με άλλα οικοσυστήματα. + +Οι γέφυρες προσφέρουν έναν τρόπο για απομονωμένα περιβάλλοντα κρυπτοαλυσίδας να συνδέονται μεταξύ τους. Δημιουργούν μια διαδρομή μεταφοράς μεταξύ κρυπτοαλυσίδων όπου τα κρυπτονομίσματα, τα μηνύματα, τα αυθαίρετα δεδομένα, ακόμη και οι κλήσεις [έξυπνων συμβολαίων](/developers/docs/smart-contracts/) μπορούν να μεταφερθούν από μια αλυσίδα στην άλλη. + +## Τα οφέλη των γεφυρών {#benefits-of-bridges} + +Με απλά λόγια, οι γέφυρες ξεκλειδώνουν πολλές χρήσεις επιτρέποντας στα δίκτυα κρυπτοαλυσίδας να ανταλλάσσουν δεδομένα και να μετακινούν στοιχεία μεταξύ τους. + +Οι κρυπτοαλυσίδες έχουν μοναδικά πλεονεκτήματα, αδυναμίες και προσεγγίσεις για την κατασκευή εφαρμογών (όπως ταχύτητα, απόδοση, κόστος κ. λπ.). Οι γέφυρες βοηθούν την ανάπτυξη του συνολικού οικοσυστήματος των κρύπτο, επιτρέποντας στις κρυπτοαλυσίδες να αξιοποιούν τις καινοτομίες μεταξύ τους. + +Για προγραμματιστές, οι γέφυρες ενεργοποιούν τα εξής: + +- Τη μεταφορά οποιονδήποτε δεδομένων, πληροφοριών και περιουσιακών στοιχείων μεταξύ αλυσίδων. +- Ενεργοποίηση νέων λειτουργιών και περιπτώσεις χρήσης για τα πρωτόκολλα καθώς οι γέφυρες επεκτείνουν το χώρο σχεδιασμού για το τι μπορούν να προσφέρουν τα πρωτόκολλα. Για παράδειγμα, ένα πρωτόκολλο αποδόσεων φάρμας, που αναπτύχθηκε αρχικά στο Ethereum Mainnet μπορεί να προσφέρει δεξαμενές ρευστότητας σε όλες τις συμβατές με EVM αλυσίδες. +- Την ευκαιρία να αξιοποιήσουν τα πλεονεκτήματα διαφορετικών αλυσίδων μπλοκ. Για παράδειγμα, οι προγραμματιστές μπορούν να επωφεληθούν από τις χαμηλότερες αμοιβές που προσφέρονται από τις διαφορετικές λύσεις επιπέδου 2, αναπτύσσοντας τις εφαρμογές τους σε πακέτα ενημέρωσης συναλλαγών και πλευρικών αλυσίδων καθώς οι χρήστες μπορούν να δημιουργήσουν γέφυρες μεταξύ τους. +- Συνεργασία μεταξύ προγραμματιστών από διάφορα οικοσυστήματα κρυπτοαλυσίδας για την κατασκευή νέων προϊόντων. +- Προσέλκυση χρηστών και κοινοτήτων από διάφορα οικοσυστήματα στις εφαρμογές τους. + +## Πώς λειτουργούν οι γέφυρες; {#how-do-bridges-work} + +Αν και υπάρχουν πολλοί [τύποι σχεδιασμού γεφυρών](https://li.fi/knowledge-hub/blockchain-bridges-and-classification/), τρεις τρόποι ξεχωρίζουν για τη διευκόλυνση μεταφοράς περιουσιακών στοιχείων μεταξύ αλυσίδων: + +- **Κλείδωμα και δημιουργία** – Κλείδωμα κρυπτονομισμάτων στην αλυσίδα προέλευσης και δημιουργία περιουσιακών στοιχεία στην αλυσίδα προορισμού. +- **Κάψιμο και δημιουργία** – Κάψιμο κρυπτονομισμάτων στην αλυσίδα προέλευσης και δημιουργία περιουσιακών στοιχεία στην αλυσίδα προορισμού. +- **Ατομικές ανταλλαγές** – Ανταλλάξτε κρυπτονομίσματα στην αλυσίδα προέλευσης για κρύπτο στην αλυσίδα προορισμού με άλλο μέρος. + +## Τύποι γεφυρών {#bridge-types} + +Συνήθως οι γέφυρες ταξινομούνται σε μια από τις παρακάτω κατηγορίες: + +- **Εγγενείς γέφυρες** – Συνήθως δημιουργούνται για την εκκίνηση της ρευστότητας σε ένα συγκεκριμένο blockchain, διευκολύνοντας τους χρήστες να μετακινούν κεφάλαια στο οικοσύστημα. Για παράδειγμα, η [γέφυρα Arbitrum](https://bridge.arbitrum.io/) έχει δημιουργηθεί για να διευκολύνει τους χρήστες να μεταφέρουν κρύπτο από το Ethereum Mainnet στο Arbitrum. Άλλες τέτοιες γέφυρες περιλαμβάνουν τη γέφυρα Polygon PoS, [Optimism Gateway](https://app.optimism.io/bridge) κ.λπ. +- **Γέφυρες επικύρωσης ή oracle –** Αυτές οι γέφυρες βασίζονται σε ένα εξωτερικό σύνολο επικυρωτών ή oracle για επικύρωση των διασταυρούμενων αλυσίδων. Παραδείγματα: Multichain και Across. +- **Γενικές γέφυρες διέλευσης μηνυμάτων** – Αυτές οι γέφυρες μπορούν να μεταφέρουν στοιχεία, μαζί με μηνύματα και αυθαίρετα δεδομένα σε αλυσίδες. Παραδείγματα: Axelar, LayerZero και Nomad. +- **Δίκτυα ρευστότητας** – Αυτές οι γέφυρες επικεντρώνονται κυρίως στη μεταφορά περιουσιακών στοιχείων από τη μια αλυσίδα στην άλλη μέσω ατομικών ανταλλαγών. Γενικά, δεν υποστηρίζουν διασταυρούμενη αλυσίδα μηνυμάτων. Παράδειγμα: Connext και Hop. + +## Συμβιβασμοί προς εξέταση {#trade-offs} + +Με τις γέφυρες, δεν υπάρχουν τέλειες λύσεις. Αντιθέτως, υπάρχουν μόνο θυσίες που γίνονται για την εκπλήρωση ενός σκοπού. Οι προγραμματιστές και οι χρήστες μπορούν να αξιολογήσουν τις γέφυρες με βάση τους ακόλουθους παράγοντες: + +- **Ασφάλεια –** Ποιος επαληθεύει το σύστημα; Οι γέφυρες που ασφαλίζονται από εξωτερικούς επικυρωτές είναι συνήθως λιγότερο ασφαλείς από τις γέφυρες που ασφαλίζονται τοπικά ή εγγενώς από τους επικυρωτές της κρυπτοαλυσίδας. +- **Ευκολία** – Πόσος χρόνος χρειάζεται για να ολοκληρωθεί μια συναλλαγή και πόσες συναλλαγές χρειάστηκε να υπογράψει ένας χρήστης; Για έναν προγραμματιστή, πόσο χρόνο χρειάζεται για να ενσωματώσει μια γέφυρα και πόσο περίπλοκη είναι η διαδικασία; +- **Συνδεσιμότητα** – Ποιες είναι οι διαφορετικές αλυσίδες προορισμού που μπορεί να συνδέσει μια γέφυρα (π.χ. συνάθροιση, πλευρικές αλυσίδες, άλλες κρυπτοαλυσίδες επιπέδου 1, κ.λπ.) και πόσο δύσκολο είναι να ενσωματώσετε μια νέα κρυπτοαλυσίδα; +- **Δυνατότητα διαβίβασης πιο περίπλοκων δεδομένων** – Μπορεί μια γέφυρα να επιτρέψει τη μεταφορά μηνυμάτων και πιο περίπλοκων αυθαίρετων δεδομένων μεταξύ αλυσίδων ή υποστηρίζει μόνο μεταφορές στοιχείων μεταξύ των αλυσίδων; +- **Κόστος - αποτελεσματικότητας** – Πόσο κοστίζει η μεταφορά περιουσιακών στοιχείων μεταξύ αλυσίδων μέσω μιας γέφυρας; Συνήθως, οι γέφυρες χρεώνουν ένα σταθερό ή μεταβλητό τέλος ανάλογα με το κόστος του gas και τη ρευστότητα συγκεκριμένων διαδρομών. Είναι επίσης σημαντικό να αξιολογηθεί η σχέση κόστους - αποτελεσματικότητας μιας γέφυρας με βάση το κεφάλαιο που απαιτείται για τη διασφάλιση της ασφάλειάς της. + +Σε υψηλό επίπεδο, οι γέφυρες μπορούν να κατηγοριοποιηθούν ως αξιόπιστες και χωρίς την ανάγκη παροχής εμπιστοσύνης. + +- **Αξιόπιστες** – Οι αξιόπιστες γέφυρες επαληθεύονται εξωτερικά. Χρησιμοποιούν ένα εξωτερικό σύνολο επαληθευτών (ομάδες με πολλαπλές υπογραφές, συστήματα πολλαπλής υπολογιστικής, δίκτυο oracle) για να στείλουν δεδομένα μεταξύ αλυσίδων. Ως αποτέλεσμα, μπορούν να προσφέρουν μεγάλη συνδεσιμότητα και να επιτρέπουν την πλήρως γενικευμένη μεταφορά μηνυμάτων μεταξύ αλυσίδων. Επίσης, τείνουν να αποδίδουν καλά όσον αφορά την ταχύτητα και την αποτελεσματικότητα του κόστους. Αυτό γίνεται με κόστος στην ασφάλεια, καθώς οι χρήστες πρέπει να βασίζονται στην ασφάλεια της γέφυρας. +- **Χωρίς την ανάγκη παροχής εμπιστοσύνης** - Αυτές οι γέφυρες βασίζονται στις κρυπτοαλυσίδες που συνδέουν και στους επικυρωτές τους για τη μεταφορά μηνυμάτων και κρυπτονομισμάτων. Είναι «χωρίς την ανάγκη παροχής εμπιστοσύνης» επειδή δεν προσθέτουν νέες υποθέσεις εμπιστοσύνης (εκτός από τις κρυπτοαλυσίδες). Ως αποτέλεσμα, οι γέφυρες χωρίς την ανάγκη παροχής εμπιστοσύνη θεωρούνται πιο ασφαλείς από τις αξιόπιστες γέφυρες. + +Για να αξιολογήσουμε τις γέφυρες χωρίς την ανάγκη παροχής εμπιστοσύνης με βάση άλλους παράγοντες, πρέπει να τις διαχωρίσουμε σε γέφυρες γενικευμένης μεταφοράς μηνυμάτων και δίκτυα ρευστότητας. + +- **Γέφυρες διέλευσης γενικών μηνυμάτων** – Αυτές οι γέφυρες υπερτερούν με την ασφάλεια και την ικανότητα μεταφοράς πιο περίπλοκων δεδομένων μεταξύ αλυσίδων. Τυπικά, είναι επίσης καλές σε κόστος - αποτελεσματικότητα. Ωστόσο, αυτά τα πλεονεκτήματα έχουν γενικά το κόστος της συνδεσιμότητας για γέφυρες πελατών μικρού μεγέθους (π.χ.: IBC) και τα μειονεκτήματα ταχύτητας για τις αισιόδοξες γέφυρες (π.χ.: Nomad) που χρησιμοποιούν αποδείξεις απάτης. +- **Δίκτυα ρευστότητας** – Αυτές οι γέφυρες χρησιμοποιούν ατομικές ανταλλαγές για τη μεταφορά περιουσιακών στοιχείων και είναι τοπικά επαληθευμένα συστήματα (δηλαδή, χρησιμοποιούν τους υποκείμενους επικυρωτές των κρυπτοαλυσίδων για την επαλήθευση συναλλαγών). Ως αποτέλεσμα υπερτερούν με ασφάλεια και ταχύτητα. Επιπλέον, θεωρούνται οικονομικά και προσφέρουν καλή συνδεσιμότητα. Ωστόσο, η κύρια αντιστάθμιση είναι η αδυναμία τους να διαβιβάσουν πιο σύνθετα δεδομένα, καθώς δεν υποστηρίζουν τη μετάδοση μηνυμάτων μεταξύ αλυσίδων. + +## Ρίσκο με γέφυρες {#risk-with-bridges} + +Οι γέφυρες αντιπροσωπεύουν τα τρία πρώτα [μεγαλύτερα hack στο DeFi](https://rekt.news/leaderboard/) και βρίσκονται ακόμα στα αρχικά στάδια ανάπτυξης. Η χρήση οποιασδήποτε γέφυρας ενέχει τους ακόλουθους κινδύνους: + +- **Κίνδυνοι Έξυπνων Συμβολαίων** - Ενώ πολλές γέφυρες έχουν περάσει με επιτυχία τους ελέγχους, αρκεί ένα ελάττωμα σε ένα έξυπνο συμβόλαιο για να εκτεθούν τα περιουσιακά στοιχεία σε επιθέσεις (π.χ. [γέφυρα Wormhole της Solana](https://rekt.news/wormhole-rekt/)). +- **Συστημικοί Χρηματοοικονομικοί Κίνδυνοι** - Πολλές γέφυρες χρησιμοποιούν παρόμοια κρυπτονομίσματα για να δημιουργήσουν κανονικές εκδόσεις του αρχικού κρυπτονομίσματος σε μια νέα αλυσίδα. Αυτό εκθέτει το οικοσύστημα σε συστημικό κίνδυνο, καθώς έχουμε δει εκμεταλλεύσεις παρόμοιων εκδόσεων κρυπτονομισμάτων. +- **Κίνδυνος Αντιπάλου** - Ορισμένες γέφυρες χρησιμοποιούν ένα αξιόπιστο σχεδιασμό που απαιτεί από τους χρήστες να βασίζονται στην υπόθεση ότι οι επικυρωτές δε θα συνεργαστούν για να κλέψουν τα χρήματα των χρηστών. Η ανάγκη των χρηστών να εμπιστεύονται αυτούς τους τρίτους παράγοντες τους εκθέτει σε κινδύνους όπως rug pulls, τη λογοκρισία και άλλες κακόβουλες δραστηριότητες. +- **Ανοιχτά Ζητήματα** - Δεδομένου ότι οι γέφυρες βρίσκονται στα αρχικά στάδια ανάπτυξης, υπάρχουν πολλά αναπάντητα ερωτήματα σχετικά με το πώς θα λειτουργήσουν οι γέφυρες σε διαφορετικές συνθήκες αγοράς, όπως περιόδους συμφόρησης δικτύου και κατά τη διάρκεια απρόβλεπτων γεγονότων όπως επιθέσεις επιπέδου δικτύου ή επαναφοράς κατάστασης. Αυτή η αβεβαιότητα δημιουργεί ορισμένους κινδύνους, τον βαθμό των οποίων δεν είναι ακόμη γνωστός. + +## Πώς μπορούν οι dapps να χρησιμοποιήσουν γέφυρες; {#how-can-dapps-use-bridges} + +Δείτε παρακάτω μερικές πρακτικές εφαρμογές που οι προγραμματιστές μπορούν να εξετάσουν σχετικά με τις γέφυρες και τη μετάβαση του dapp τους σε πολλές αλυσίδες: + +### Ενσωμάτωση γεφυρών {#integrating-bridges} + +Για τους προγραμματιστές, υπάρχουν πολλοί τρόποι για προσθήκη υποστήριξης για γέφυρες: + +1. **Δημιουργία της δικής σας γέφυρας** - Η δημιουργία μιας ασφαλούς και αξιόπιστης γέφυρας δεν είναι εύκολη, ειδικά εάν ακολουθήσετε μια πιο ελαχιστοποιημένη ως προς την εμπιστοσύνη προσέγγιση. Επιπλέον, απαιτεί χρόνια πείρας και τεχνικής εμπειρογνωμοσύνης σχετικά με μελέτες επεκτασιμότητας και διαλειτουργικότητας. Θα απαιτούσε μια ομάδα με πρακτική εμπειρία για τη διατήρηση μιας γέφυρας και την προσέλκυση επαρκούς ρευστότητας για να καταστεί εφικτή. + +2. **Παρουσίαση πολλών επιλογών γέφυρας στους χρήστες** - Πολλές [dapp](/developers/docs/dapps/) απαιτούν από τους χρήστες να έχουν το εγγενές κρυπτονόμισμά τους για να αλληλεπιδράσουν μαζί τους. Για να επιτρέψουν στους χρήστες να έχουν πρόσβαση στα κρυπτονομίσματά τους, προσφέρουν διαφορετικές επιλογές γέφυρας στον ιστότοπό τους. Ωστόσο, αυτή η μέθοδος είναι μια γρήγορη λύση στο πρόβλημα, καθώς απομακρύνει τον χρήστη από τη διεπαφή της dapp και εξακολουθεί να απαιτεί από αυτόν να αλληλεπιδρά με άλλες dapp και γέφυρες. Αυτή είναι μια δύσκολη εμπειρία ενσωμάτωσης με αυξημένες πιθανότητες λαθών. + +3. **Ενσωμάτωση μιας γέφυρας** – Αυτή η λύση δεν απαιτεί από την dapp να στέλνει τους χρήστες στην εξωτερική γέφυρα και διεπαφές DEX. Επιτρέπει στις dapp να βελτιώσουν την εμπειρία ενσωμάτωσης του χρήστη. Ωστόσο, αυτή η προσέγγιση έχει τους περιορισμούς της: + + - Η αξιολόγηση και η συντήρηση των γεφυρών είναι δύσκολη και χρονοβόρα. + - Η επιλογή μιας γέφυρας δημιουργεί ένα μεμονωμένο σημείο αποτυχίας και εξάρτησης. + - Η dapp περιορίζεται από τις δυνατότητες της γέφυρας. + - Οι γέφυρες από μόνες τους μπορεί να μην είναι αρκετές. Οι dapp ενδέχεται να χρειάζονται διάφορα DEX για να προσφέρουν περισσότερη λειτουργικότητα, όπως ανταλλαγές μέσω πολλαπλών αλυσίδων. + +4. **Ενσωμάτωση πολλών γεφυρών** – Αυτή η λύση επιλύει πολλά προβλήματα που σχετίζονται με την ενσωμάτωση μιας μεμονωμένης γέφυρας. Ωστόσο, έχει επίσης περιορισμούς, καθώς η ενσωμάτωση πολλών γεφυρών καταναλώνει πόρους και δημιουργεί τεχνικά και επικοινωνιακά έξοδα για τους προγραμματιστές, τον πιο σπάνιο πόρο στα κρυπτονομίσματα. + +5. **Η ενσωμάτωση ενός συλλέκτη γεφυρών** - Μια άλλη επιλογή για τις dapps είναι η ενσωμάτωση μιας λύσης συλλογής γεφυρών που τους δίνει πρόσβαση σε πολλές γέφυρες. Οι συλλέκτες γεφυρών κληρονομούν τα πλεονεκτήματα όλων των γεφυρών και ως εκ τούτου δεν περιορίζονται από τις δυνατότητες μιας μεμονωμένης γέφυρας. Οι συλλέκτες γεφυρών συνήθως διατηρούν τις ενσωματώσεις γεφυρών, γεγονός που εξοικονομεί την dapp από τον κόπο να παρακολουθεί τις τεχνικές και λειτουργικές πτυχές μιας ενσωμάτωσης γέφυρας. + +Τούτου λεχθέντος, οι συσσωρευτές γεφυρών έχουν επίσης τους περιορισμούς τους. Για παράδειγμα, ενώ μπορούν να προσφέρουν περισσότερες επιλογές γεφυρών, πολλές γέφυρες είναι συνήθως διαθέσιμες στην αγορά εκτός από αυτές που προσφέρονται στην πλατφόρμα του συσσωρεύοντα. Επιπλέον, όπως και οι γέφυρες, οι συσσωρευτές γεφυρών εκτίθενται επίσης σε κινδύνους έξυπνων συμβολαίων και τεχνολογίας (περισσότερα έξυπνα συμβόλαια = περισσότεροι κίνδυνοι). + +Εάν μια dapp ακολουθεί τη διαδρομή της ενσωμάτωσης μιας γέφυρας ή ενός συσσωρευτή, υπάρχουν διαφορετικές επιλογές ανάλογα με το πόσο βαθιά προορίζεται να είναι η ενοποίηση. Για παράδειγμα, εάν πρόκειται μόνο για μια ολοκλήρωση front-end για τη βελτίωση της εμπειρίας ενσωμάτωσης χρηστών, μια dapp θα ενσωματώσει το widget. Ωστόσο, εάν η ενσωμάτωση πρόκειται να εξερευνήσει βαθύτερες στρατηγικές διασταυρούμενης αλυσίδας, όπως αποθήκευση κεφαλαίου, καλλιέργεια απόδοσης κ.λπ., το dapp ενσωματώνει το SDK ή το API. + +### Ανάπτυξη μιας dapp σε πολλαπλές αλυσίδες {#deploying-a-dapp-on-multiple-chains} + +Για την ανάπτυξη μιας dapp σε πολλές αλυσίδες, οι προγραμματιστές μπορούν να χρησιμοποιήσουν πλατφόρμες ανάπτυξης όπως το [Alchemy](https://www.alchemy.com/), το [Hardhat](https://hardhat.org/), το [Moralis](https://moralis.io/) κ.λ.π. Τυπικά, αυτές οι πλατφόρμες έρχονται με σύνθετα πρόσθετα που μπορούν να επιτρέψουν στις αποκεντρωμένες εφαρμογές να επικοινωνούν μεταξύ τους. Για παράδειγμα, οι προγραμματιστές μπορούν να χρησιμοποιήσουν έναν προκαθορισμένο διακομιστή μεσολάβησης που προσφέρεται από το [πρόσθετο hardhat-deploy](https://github.com/wighawag/hardhat-deploy). + +#### Παραδείγματα: + +- [Πώς να δημιουργήσετε dapps για χρήση μεταξύ αλυσίδων](https://moralis.io/how-to-build-cross-chain-dapps/) +- [Δημιουργία μιας αγοράς NFT μεταξύ αλυσίδων](https://youtu.be/WZWCzsB1xUE) +- [Moralis: Δημιουργία αποκεντρωμένων εφαρμογών NFT μεταξύ αλυσίδων](https://www.youtube.com/watch?v=ehv70kE1QYo) + +### Παρακολούθηση δραστηριότητας συμβολαίου μεταξύ αλυσίδων {#monitoring-contract-activity-across-chains} + +Για να παρακολουθήσουν τη δραστηριότητα συμβολαίου σε όλες τις αλυσίδες, οι προγραμματιστές μπορούν να χρησιμοποιήσουν υπο-γράφημα και πλατφόρμες προγραμματιστών όπως το Tenderly για να παρατηρούν έξυπνα συμβόλαια σε πραγματικό χρόνο. Τέτοιες πλατφόρμες έχουν επίσης εργαλεία που προσφέρουν μεγαλύτερη λειτουργικότητα παρακολούθησης δεδομένων για δραστηριότητες μεταξύ αλυσίδων, όπως ο έλεγχος για [συμβάντα που εκπέμπονται από συμβόλαια](https://docs.soliditylang.org/en/v0.8.14/contracts.html?highlight=events#events) κ.λπ. + +#### Εργαλεία + +- [The Graph](https://thegraph.com/en/) +- [Tenderly](https://tenderly.co/) + +## Περισσότερες πληροφορίες {#further-reading} +- [Γέφυρες Blockchain](/bridges/) – ethereum.org +- [Πλαίσιο κινδύνου γέφυρας L2Beat](https://l2beat.com/bridges/summary) +- [Γέφυρες κρυπτοαλυσίδων: Δημιουργία δικτύων κρυπτοδικτύων](https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8) - 08 Σεπ 2021 του Dmitriy Berenzon +- [Το Τρίλημμα της Διαλειτουργικότητας](https://blog.connext.network/the-interoperability-trilemma-657c2cf69f17) - 01 Οκτ 2021 του Arjun Bhuptani +- [Συστάδες: Πώς οι Αξιόπιστες & Ελάχιστης Εμπιστοσύνης Γέφυρες Διαμορφώνουν το Τοπίο Πολλαπλών Αλυσίδων](https://blog.celestia.org/clusters/) - 04 Οκτ 2021 του Mustafa Al-Bassam +- [LI.FI: Με τις Γέφυρες, η Εμπιστοσύνη Είναι Ένα Φάσμα](https://blog.li.fi/li-fi-with-bridges-trust-is-a-spectrum-354cd5a1a6d8) - 28 Απρ 2022 - Arjun Chand +- [The State Of Rollup Interoperability Solutions](https://research.2077.xyz/the-state-of-rollup-interoperability) - 20 Ιουνίου 2024 του Alex Hook +- [Εκμετάλλευση κοινής ασφάλειας για ασφαλή διαλειτουργικότητα μεταξύ των αλυσίδων: Επιτροπές πολιτειών Lagrange και πέρα](https://research.2077.xyz/harnessing-shared-security-for-secure-blockchain-interoperability) - 12 Ιουνίου 2024 - Emmanuel Awosika + +Επιπλέον, ακολουθούν ορισμένες παρουσιάσεις του [James Prestwich](https://twitter.com/_prestwich) που μπορούν να βοηθήσουν στην ανάπτυξη μιας καλύτερης κατανόησης των γεφυρών: + +- [Χτίζοντας γέφυρες, όχι περιφραγμένους κήπους](https://youtu.be/ZQJWMiX4hT0) +- [Καταργώντας γέφυρες](https://youtu.be/b0mC-ZqN8Oo) +- [Γιατί καίγονται οι Γέφυρες](https://youtu.be/c7cm2kd20j8) diff --git a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md index 917b27e6f78..09ead118676 100644 --- a/public/content/translations/el/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md +++ b/public/content/translations/el/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/index.md @@ -70,7 +70,7 @@ PROPOSER_WEIGHT uint64(8) - Έκδοση βεβαίωσης ενός μπλοκ που «περιβάλλει» ένα άλλο (αλλάζοντας ουσιαστικά το ιστορικό) - «Διπλή ψηφοφορία» μέσω βεβαίωσης δύο υποψηφίων για το ίδιο μπλοκ -Εάν εντοπιστούν αυτές οι ενέργειες, ο επικυρωτής υποβάλλεται σε περικοπή. Αυτό σημαίνει ότι το 1/32 του δεσμευμένου ether (έως 1 ether κατ' ανώτατο όριο) καίγεται αμέσως και μετά ξεκινά μια περίοδος απομάκρυνσης 36 ημερών. Κατά τη διάρκεια αυτής της περιόδου απομάκρυνσης το αποθηκευμένο κεφάλαιο του επικυρωτή σταδιακά μειώνεται. Στο μέσο σημείο (Ημέρα 18) εφαρμόζεται μια πρόσθετη ποινή της οποίας το μέγεθος κλιμακώνεται με το συνολικό δεσμευμένο ether όλων των περικομμένων επικυρωτών στις 36 ημέρες πριν από το γεγονός περικοπής. Αυτό σημαίνει ότι όταν περικόπτονται περισσότεροι επικυρωτές, το μέγεθος της περικοπής αυξάνεται. Η μέγιστη περικοπή είναι το πλήρες πραγματικό υπόλοιπο όλων των περικομμένων επικυρωτών (δηλαδή, εάν υπάρχουν πολλοί επικυρωτές που υποβάλλονται σε περικοπή, θα μπορούσαν να χάσουν ολόκληρο το κεφάλαιό τους). Από την άλλη πλευρά, ένα μεμονωμένο γεγονός περικοπής καίει μόνο ένα μικρό μέρος του αποθηκευμένου κεφαλαίου του επικυρωτή. Αυτή η ποινή του μέσου σημείου που κλιμακώνεται με τον αριθμό των περικομμένων επικυρωτών ονομάζεται «ποινή συσχέτισης». +Εάν εντοπιστούν αυτές οι ενέργειες, ο επικυρωτής υποβάλλεται σε περικοπή. Αυτό σημαίνει ότι το 0,0078125 καίγεται αμέσως για έναν επικυρωτή 32 ETH (κλιμακώνεται γραμμικά με το ενεργό υπόλοιπο) και στη συνέχεια ξεκινά μια περίοδος αφαίρεσης 36 ημερών. Κατά τη διάρκεια αυτής της περιόδου απομάκρυνσης το αποθηκευμένο κεφάλαιο του επικυρωτή σταδιακά μειώνεται. Στο μέσο σημείο (Ημέρα 18) εφαρμόζεται μια πρόσθετη ποινή της οποίας το μέγεθος κλιμακώνεται με το συνολικό δεσμευμένο ether όλων των περικομμένων επικυρωτών στις 36 ημέρες πριν από το γεγονός περικοπής. Αυτό σημαίνει ότι όταν περικόπτονται περισσότεροι επικυρωτές, το μέγεθος της περικοπής αυξάνεται. Η μέγιστη περικοπή είναι το πλήρες πραγματικό υπόλοιπο όλων των περικομμένων επικυρωτών (δηλαδή, εάν υπάρχουν πολλοί επικυρωτές που υποβάλλονται σε περικοπή, θα μπορούσαν να χάσουν ολόκληρο το κεφάλαιό τους). Από την άλλη πλευρά, ένα μεμονωμένο γεγονός περικοπής καίει μόνο ένα μικρό μέρος του αποθηκευμένου κεφαλαίου του επικυρωτή. Αυτή η ποινή του μέσου σημείου που κλιμακώνεται με τον αριθμό των περικομμένων επικυρωτών ονομάζεται «ποινή συσχέτισης». ## Διαρροή αδράνειας {#inactivity-leak} diff --git a/public/content/translations/el/developers/docs/data-availability/blockchain-data-storage-strategies/index.md b/public/content/translations/el/developers/docs/data-availability/blockchain-data-storage-strategies/index.md new file mode 100644 index 00000000000..3b3cb1c3c28 --- /dev/null +++ b/public/content/translations/el/developers/docs/data-availability/blockchain-data-storage-strategies/index.md @@ -0,0 +1,118 @@ +--- +title: Στρατηγικές αποθήκευσης δεδομένων Blockchain +description: Υπάρχουν διάφοροι τρόποι αποθήκευσης δεδομένων χρησιμοποιώντας το blockchain. Αυτό το άρθρο θα συγκρίνει τις διαφορετικές στρατηγικές, το κόστος και τους συμβιβασμούς τους, καθώς και τις απαιτήσεις για την ασφαλή χρήση τους. +lang: el +--- + +Υπάρχουν πολλοί τρόποι αποθήκευσης πληροφοριών είτε απευθείας στο blockchain είτε με τρόπο που να διασφαλίζεται από αυτό: + +- EIP-4844 blobs +- Calldata +- Εκτός αλυσίδας με μηχανισμούς L1 +- «Κώδικας» συμβολαίου +- Συμβάντα +- Αποθηκευτικός χώρος EVM + +Η επιλογή της μεθόδου που θα χρησιμοποιηθεί βασίζεται σε διάφορα κριτήρια: + +- Η πηγή των πληροφοριών. Οι πληροφορίες στα δεδομένα κλήσης δεν μπορούν να προέρχονται απευθείας από το ίδιο το blockchain. +- Ο προορισμός των πληροφοριών. Το Calldata είναι διαθέσιμο μόνο στη συναλλαγή που αφορά. Τα γεγονότα δεν είναι καθόλου προσβάσιμα στην αλυσίδα. +- Πόση ταλαιπωρία είναι αποδεκτή; Οι υπολογιστές που εκτελούν έναν κόμβο πλήρους κλίμακας μπορούν να εκτελέσουν περισσότερη επεξεργασία από έναν ελαφρύ πελάτη σε μια εφαρμογή που εκτελείται σε πρόγραμμα περιήγησης. +- Είναι απαραίτητο να διευκολυνθεί η εύκολη πρόσβαση στις πληροφορίες από κάθε κόμβο; +- Οι απαιτήσεις ασφαλείας. + +## Οι απαιτήσεις ασφαλείας {#security-requirements} + +Γενικά, η ασφάλεια πληροφοριών αποτελείται από τρία χαρακτηριστικά: + +- _Εμπιστευτικότητα_, οι μη εξουσιοδοτημένες οντότητες δεν επιτρέπεται να διαβάζουν τις πληροφορίες. Αυτό είναι σημαντικό σε πολλές περιπτώσεις, αλλά όχι εδώ. _Δεν υπάρχουν μυστικά στο blockchain_. Τα blockchain λειτουργούν επειδή οποιοσδήποτε μπορεί να επαληθεύσει τις μεταβάσεις κατάστασης, επομένως είναι αδύνατο να χρησιμοποιηθούν για την απευθείας αποθήκευση μυστικών. Υπάρχουν τρόποι αποθήκευσης εμπιστευτικών πληροφοριών στο blockchain, αλλά όλοι βασίζονται σε κάποιο εξάρτημα εκτός αλυσίδας για την αποθήκευση τουλάχιστον ενός κλειδιού. + +- _Integrity_, οι πληροφορίες είναι σωστές, δεν μπορούν να αλλάξουν από μη εξουσιοδοτημένες οντότητες ή με μη εξουσιοδοτημένους τρόπους (για παράδειγμα, μεταφορά [ERC-20 tokens](https://eips.ethereum.org/EIPS/eip-20#events) χωρίς ένα συμβάν «Μεταφοράς»). Στο blockchain, κάθε κόμβος επαληθεύει κάθε αλλαγή κατάστασης, η οποία διασφαλίζει την ακεραιότητα. + +- _Διαθεσιμότητα_, οι πληροφορίες είναι διαθέσιμες σε κάθε εξουσιοδοτημένο φορέα. Στο blockchain, αυτό συνήθως επιτυγχάνεται έχοντας τις πληροφορίες διαθέσιμες σε κάθε [full node] (https://ethereum.org/developers/docs/nodes-and-clients#full-node). + +Οι διαφορετικές λύσεις εδώ έχουν όλες εξαιρετική ακεραιότητα, επειδή τα hashes δημοσιεύονται στο L1. Ωστόσο, έχουν διαφορετικές εγγυήσεις διαθεσιμότητας. + +## Προαπαιτούμενα {#prerequisites} + +Θα πρέπει να κατανοείτε καλά τις [βασικές αρχές του blockchain](/developers/docs/intro-to-ethereum/). Αυτή η σελίδα προϋποθέτει επίσης ότι ο αναγνώστης είναι εξοικειωμένος με τα [blocks](/developers/docs/blocks/), [transactions](/developers/docs/transactions/) και άλλα σχετικά θέματα. + +## EIP-4844 blobs {#eip-4844-blobs} + +Ξεκινώντας με [το Dencun hardfork](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/beacon-chain.md) η κρυπτοαλυσίδα Ethereum περιλαμβάνει [EIP-4844](https:// eips.ethereum.org/EIPS/eip-4844), το οποίο προσθέτει στο Ethereum blobs δεδομένων με περιορισμένη διάρκεια ζωής (αρχικά περίπου [18 ημέρες](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/p2p-interface.md#configuration)). Αυτά τα blobs τιμολογούνται ξεχωριστά από το [execution gas](/developers/docs/gas), αν και χρησιμοποιούν παρόμοιο μηχανισμό. Είναι ένας φθηνός τρόπος για να δημοσιεύσετε προσωρινά δεδομένα. + +Η κύρια περίπτωση χρήσης για τα blobs EIP-4844 είναι για τα rollups που δημοσιεύουν τις συναλλαγές τους. Τα [Optimistic rollups](/developers/docs/scaling/optimistic-rollups) πρέπει να δημοσιεύουν τις συναλλαγές στα blockchains τους. Αυτές οι συναλλαγές πρέπει να είναι διαθέσιμες σε οποιονδήποτε κατά την [περίοδο πρόκλησης](https://docs.optimism.io/connect/resources/glossary#challenge-period) για να ενεργοποιηθούν οι [επικυρωτές](https://docs.optimism.io/connect/resources/glossary#validator) για να διορθώσετε το λάθος εάν ο [sequencer](https://docs.optimism.io/connect/resources/glossary#sequencer) του rollup δημοσιεύει ένα λανθασμένο root κατάστασης. + +Ωστόσο, μόλις περάσει η περίοδος πρόκλησης και οριστικοποιηθεί το root κατάστασης, ο σκοπός που απομένει για τη γνώση αυτών των συναλλαγών είναι η αναπαραγωγή της τρέχουσας κατάστασης της αλυσίδας. Αυτή η κατάσταση είναι επίσης διαθέσιμη από κόμβους αλυσίδας, με πολύ λιγότερη απαίτηση επεξεργασίας. Επομένως, οι πληροφορίες συναλλαγών θα πρέπει να εξακολουθούν να διατηρούνται σε μερικά μέρη, όπως [εξερευνητές μπλοκ](/developers/docs/data-and-analytics/block-explorers), αλλά δε χρειάζεται να πληρώσετε για το επίπεδο αντίστασης λογοκρισίας που παρέχει το Ethereum. + +Τα [Zero-knowledge rollups](/developers/docs/scaling/zk-rollups/#data-availability) δημοσιεύουν επίσης τα δεδομένα συναλλαγών τους για να επιτρέψουν σε άλλους κόμβους να αναπαράγουν την υπάρχουσα κατάσταση και να επαληθεύσουν τις αποδείξεις εγκυρότητας, αλλά και πάλι αυτό είναι βραχυπρόθεσμη απαίτηση. + +Κατά τη σύνταξη της ανάρτησης στο EIP-4844 κοστίζει ένα wei (10-18 ETH) ανά byte, το οποίο είναι αμελητέο σε σύγκριση με [το 21,000 gas εκτέλεσης που κοστίζει οποιαδήποτε συναλλαγή, συμπεριλαμβανομένης αυτής που δημοσιεύει blobs](https://eth.blockscout.com/tx/0xf6cfaf0431c73dd1d96369a5e6707d64f463ccf477a4131265397f1d81466929?tab=index). Μπορείτε να δείτε την τρέχουσα τιμή EIP-4844 στο [blobscan.com](https://blobscan.com/blocks). + +Δείτε παρακάτω τις διευθύνσεις blobs που δημοσιεύτηκαν από μερικές διάσημα rollups. + +| Πακέτο ενημέρωσης | Διεύθυνση | +| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- | +| [Optimism](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://blobscan.com/address/0xFF00000000000000000000000000000000000010) | +| [Arbitrum](https://arbitrum.io/) | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://blobscan.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) | +| [Base](https://base.org/) | [`0xFF00000000000000000000000000000000008453`](https://blobscan.com/address/0xFF00000000000000000000000000000000008453) | + +## Calldata {#calldata} + +Το Calldata αναφέρεται στα byte που αποστέλλονται ως μέρος της συναλλαγής. Αποθηκεύεται ως μέρος της μόνιμης εγγραφής του blockchain στο μπλοκ που περιλαμβάνει τη συγκεκριμένη συναλλαγή. + +Αυτή είναι η φθηνότερη μέθοδος για μόνιμη τοποθέτηση δεδομένων στο blockchain. Το κόστος ανά byte είναι είτε 4 gas εκτέλεσης (αν το byte είναι μηδέν) είτε 16 gas (οποιαδήποτε άλλη αξία). Εάν τα δεδομένα είναι συμπιεσμένα, κάτι που είναι τυπική πρακτική, τότε κάθε τιμή byte είναι εξίσου πιθανή, επομένως το μέσο κόστος είναι περίπου 15.95 gas ανά byte. + +Τη στιγμή σύνταξης του άρθρου, οι τιμές είναι 12 gwei/gas και 2300 $/ETH, που σημαίνει ότι το κόστος είναι περίπου 45 σεντς ανά kilobyte. Επειδή αυτή ήταν η φθηνότερη μέθοδος πριν από την EIP-4844, αυτή είναι η μέθοδος που τα rollups χρησιμοποιούνταν για την αποθήκευση πληροφοριών συναλλαγών, οι οποίες πρέπει να είναι διαθέσιμες για [προκλήσεις σφαλμάτων](https://docs.optimism.io/stack/protocol/overview#fault-proofs), αλλά δε χρειάζεται να είναι άμεσα προσβάσιμο στην αλυσίδα. + +Δείτε παρακάτω τις διευθύνσεις συναλλαγών που δημοσιεύτηκαν από μερικά διάσημα rollups. + +| Πακέτο ενημέρωσης | Διεύθυνση | +| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | +| [Optimism](https://www.optimism.io/) | [`0xFF00000000000000000000000000000000000010`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000000010) | +| [Arbitrum](https://arbitrum.io/) | [`0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6`](https://eth.blockscout.com/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6) | +| [Base](https://base.org/) | [`0xFF00000000000000000000000000000000008453`](https://eth.blockscout.com/address/0xFF00000000000000000000000000000000008453) | + +## Offchain με μηχανισμούς L1 {#offchain-with-l1-mechs} + +Ανάλογα με τους συμβιβασμούς ασφαλείας σας, μπορεί να είναι αποδεκτό να τοποθετήσετε τις πληροφορίες αλλού και να χρησιμοποιήσετε έναν μηχανισμό που διασφαλίζει ότι τα δεδομένα είναι διαθέσιμα όταν χρειάζεται. Υπάρχουν δύο προϋποθέσεις για να λειτουργήσει αυτό: + +1. Δημοσιεύστε ένα [hash](https://en.wikipedia.org/wiki/Cryptographic_hash_function) των δεδομένων στο blockchain, που ονομάζεται _input commitment_. Αυτό μπορεί να είναι μια λέξη 32 byte, επομένως δεν είναι ακριβή. Εφόσον η δέσμευση εισόδου είναι διαθέσιμη, η ακεραιότητα είναι εξασφαλισμένη επειδή δεν είναι εφικτό να βρεθούν άλλα δεδομένα που θα κάνουν hash την ίδια τιμή. Έτσι, εάν παρέχονται λανθασμένα δεδομένα, μπορούν να εντοπιστούν. + +2. Να έχετε έναν μηχανισμό που διασφαλίζει τη διαθεσιμότητα. Για παράδειγμα, στο [Redstone](https://redstone.xyz/docs/what-is-redstone) οποιοσδήποτε κόμβος μπορεί να υποβάλει μια πρόκληση διαθεσιμότητας. Εάν ο sequencer δεν ανταποκριθεί στην αλυσίδα εντός της προθεσμίας, η δέσμευση εισόδου απορρίπτεται, επομένως οι πληροφορίες θεωρείται ότι δεν έχουν δημοσιευτεί ποτέ. + +Αυτό είναι αποδεκτό για ένα optimistic rollup, επειδή βασιζόμαστε ήδη στην ύπαρξη τουλάχιστον ενός ειλικρινούς επαληθευτή για το root της κατάστασης. Ένας τέτοιος ειλικρινής επαληθευτής θα βεβαιωθεί επίσης ότι διαθέτει τα δεδομένα για την επεξεργασία μπλοκ και θα εκδώσει μια πρόκληση διαθεσιμότητας εάν οι πληροφορίες δεν είναι διαθέσιμες εκτός αλυσίδας. Αυτός ο τύπος optimistic rollup ονομάζεται [plasma](/developers/docs/scaling/plasma/). + +## Κώδικάς συμβολαίου {#contract-code} + +Οι πληροφορίες που χρειάζεται να γραφτούν μόνο μία φορά, δεν αντικαθίστανται ποτέ και πρέπει να είναι διαθέσιμες στην αλυσίδα και να μπορούν να αποθηκευτούν ως κώδικας συμβολαίου. Αυτό σημαίνει ότι δημιουργούμε ένα "έξυπνο συμβόλαιο" με τα δεδομένα και στη συνέχεια χρησιμοποιούμε το [`EXTCODECOPY`](https://www.evm.codes/#3c?fork=shanghai) για να διαβάσουμε τις πληροφορίες. Το πλεονέκτημα είναι ότι η αντιγραφή κώδικα είναι σχετικά φθηνή. + +Εκτός από το κόστος επέκτασης μνήμης, το "EXTCODECOPY" κοστίζει 2600 gas για την πρώτη πρόσβαση σε ένα συμβόλαιο (όταν είναι "κρύο") και 100 gas για επόμενα αντίγραφα από το ίδιο συμβόλαιο συν 3 gas ανά λέξη 32 byte. Σε σύγκριση με το calldata, που κοστίζει 15,95 ανά byte, αυτό είναι φθηνότερο ξεκινώντας από περίπου 200 byte. Με βάση [τον τύπο για το κόστος επέκτασης μνήμης](https://www.evm.codes/about#memoryexpansion), εφόσον δε χρειάζεστε περισσότερα από 4 MB μνήμης, το κόστος επέκτασης μνήμης είναι μικρότερο από το κόστος προσθήκη δεδομένων κλήσης. + +Φυσικά, αυτό είναι μόνο το κόστος για την _ανάγνωση_ των δεδομένων. Η δημιουργία του συμβολαίου κοστίζει περίπου 32.000 gas + 200 gas/byte. Αυτή η μέθοδος είναι οικονομική μόνο όταν χρειάζεται να διαβαστούν πολλές φορές οι ίδιες πληροφορίες σε διαφορετικές συναλλαγές. + +Ο κωδικός σύμβασης μπορεί να είναι χωρίς σημασία, αρκεί να μην ξεκινά με «0xEF». Οι συμβάσεις που ξεκινούν με "0xEF" ερμηνεύονται ως [μορφή αντικειμένου ethereum](https://notes.ethereum.org/@ipsilon/evm-object-format-overview), η οποία έχει πολύ πιο αυστηρές απαιτήσεις. + +## Γεγονότα {#events} + +Τα [Συμβάντα](https://docs.alchemy.com/docs/solidity-events) εκπέμπονται από έξυπνα συμβόλαια και διαβάζονται από λογισμικό εκτός αλυσίδας. +Το πλεονέκτημά τους είναι ότι ο κώδικας εκτός αλυσίδας μπορεί να ακούει συμβάντα. Το κόστος είναι [gas](https://www.evm.codes/#a0?fork=cancun), 375 συν 8 αέριο ανά byte δεδομένων. Σε 12 gwei/gas και 2300 $/ETH, αυτό μεταφράζεται σε ένα σεντ συν 22 σεντ ανά κιλομπάιτ. + +## Αποθηκευτικός χώρος {#storage} + +Τα έξυπνα συμβόλαια έχουν πρόσβαση σε [μόνιμο αποθηκευτικό χώρο](https://docs.alchemy.com/docs/smart-contract-storage-layout#what-is-storage-memory). Ωστόσο, είναι πολύ ακριβό. Η εγγραφή μιας λέξης 32 byte σε μια προηγουμένως άδεια υποδοχή αποθήκευσης μπορεί να [κοστίζει 22.100 gas](https://www.evm.codes/#55?fork=cancun). Σε 12 gwei/gas και 2300 $/ETH, αυτό είναι περίπου 61 σεντς ανά λειτουργία εγγραφής ή 19,5 $ ανά kilobyte. + +Αυτή είναι η πιο ακριβή μορφή αποθήκευσης στο Ethereum. + +## Περίληψη {#summary} + +Αυτός ο πίνακας συνοψίζει τις διαφορετικές επιλογές, τα πλεονεκτήματα και τα μειονεκτήματά τους. + +| Τύπος αποθ. χώρου | Πηγή δεδομένων | Εγγύηση διαθεσιμότητας | Διαθεσιμότητα στην αλυσίδα | Πρόσθετοι περιορισμοί | +| --------------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------------------------------------------------------- | +| EIP-4844 blobs | Εκτός αλυσίδας | Εγγύηση Ethereum για [~18 ημέρες](https://github.com/ethereum/consensus-specs/blob/dev/specs/deneb/p2p-interface.md#configuration) | Μόνο κατακερματισμός είναι διαθέσιμος | | +| Calldata | Εκτός αλυσίδας | Εγγύηση Ethereum για πάντα (μέρος του blockchain) | Διατίθεται μόνο εάν εγγραφεί σε ένα συμβόλαιο και σε αυτήν τη συναλλαγή | | +| Εκτός αλυσίδας με μηχανισμούς L1 | Εκτός αλυσίδας | Εγγύηση "Ένας έντιμος επαληθευτής" κατά την περίοδο πρόκλησης | Μόνο κατακερματισμός | Εγγύηση μηχανισμού πρόκλησης, κατά την περίοδο πρόκλησης | +| Κώδικας συμβολαίου | Εκτός ή επί της αλυσίδας | Εγγύηση Ethereum για πάντα (μέρος του blockchain) | Ναι | Γράφεται σε "τυχαία" διεύθυνση, δεν μπορεί να ξεκινά με `0xEF` | +| Συμβάντα | Επί της αλυσίδας | Εγγύηση Ethereum για πάντα (μέρος του blockchain) | Όχι | | +| Αποθηκευτικός χώρος | Επί της αλυσίδας | Εγγύηση Ethereum για πάντα (μέρος του blockchain και την παρούσα κατάσταση μέχρι να αντικατασταθεί) | Ναι | | diff --git a/public/content/translations/el/developers/docs/data-availability/index.md b/public/content/translations/el/developers/docs/data-availability/index.md new file mode 100644 index 00000000000..74059245aa9 --- /dev/null +++ b/public/content/translations/el/developers/docs/data-availability/index.md @@ -0,0 +1,85 @@ +--- +title: Διαθεσιμότητα δεδομένων +description: Μια επισκόπηση προβλημάτων και λύσεων που σχετίζονται με τη διαθεσιμότητα δεδομένων στο Ethereum +lang: el +--- + +Το «Μην εμπιστεύεστε, επαληθεύστε» είναι ένα κοινό ρητό στο Ethereum. Η κύρια ιδέα είναι ότι ο κόμβος σας μπορεί ανεξάρτητα να επαληθεύσει ότι οι πληροφορίες που λαμβάνει είναι σωστές, εκτελώντας όλες τις συναλλαγές στα μπλοκ που λαμβάνουν από ομότιμους για να διασφαλιστεί ότι οι προτεινόμενες αλλαγές ταιριάζουν ακριβώς με αυτές που υπολογίζονται ανεξάρτητα από τον κόμβο. Αυτό σημαίνει ότι οι κόμβοι δε χρειάζεται να εμπιστεύονται ότι οι αποστολείς του μπλοκ είναι ειλικρινείς. Αυτό δεν είναι δυνατό εάν λείπουν δεδομένα. + +Η **Διαθεσιμότητα δεδομένων** αναφέρεται στη διαβεβαίωση που μπορεί να έχει ένας χρήστης ότι τα δεδομένα που απαιτούνται για την επαλήθευση μπλοκ είναι πραγματικά διαθέσιμα σε όλους τους συμμετέχοντες στο δίκτυο. Για τους πλήρεις κόμβους επιπέδου 1 του Ethereum, είναι σχετικά απλό. Ο πλήρης κόμβος πραγματοποιεί λήψη ενός αντιγράφου όλων των δεδομένων σε κάθε μπλοκ. Τα δεδομένα _πρέπει_ να είναι διαθέσιμα για να είναι δυνατή η λήψη τους. Ένα μπλοκ με δεδομένα που λείπουν θα απορριφθεί αντί να προστεθεί στην κρυπτοαλυσίδα. Αυτό είναι η "διαθεσιμότητα δεδομένων στην αλυσίδα" και είναι χαρακτηριστικό των μονολιθικών κρυπτοαλυσίδων. Οι πλήρεις κόμβοι δεν μπορούν να εξαπατηθούν ώστε να αποδεχτούν μη έγκυρες συναλλαγές επειδή κατεβάζουν και εκτελούν κάθε συναλλαγή από μόνοι τους. Ωστόσο, για αρθρωτές κρυπτοαλυσίδες, πακέτα ενημέρωσης επιπέδου 2 και πελάτες μικρού μεγέθους, η διαθεσιμότητας δεδομένων είναι πιο περίπλοκη, απαιτώντας ορισμένες πιο εξελιγμένες διαδικασίες επαλήθευσης. + +## Προαπαιτούμενα {#prerequisites} + +Θα πρέπει να έχετε καλή κατανόηση των [βασικών αρχών κρυπτοαλυσίδας](/developers/docs/intro-to-ethereum/), ιδιαίτερα του [μηχανισμού συναίνεσης](/developers/docs/consensus-mechanisms/). Αυτή η σελίδα υποθέτει επίσης ότι ο αναγνώστης είναι εξοικειωμένος με τα [μπλοκ](/developers/docs/blocks/), τις [συναλλαγές](/developers/docs/transactions/), τους [κόμβους](/developers/docs/nodes-and-clients/), τις [λύσεις κλιμάκωσης](/developers/docs/scaling/) και άλλα σχετικά θέματα. + +## Το πρόβλημα διαθεσιμότητας δεδομένων {#the-data-availability-problem} + +Το πρόβλημα διαθεσιμότητας δεδομένων είναι η ανάγκη να αποδειχθεί σε ολόκληρο το δίκτυο ότι η συνοπτική μορφή ορισμένων δεδομένων συναλλαγών που προστίθενται στην κρυπτοαλυσίδα αντιπροσωπεύει πραγματικά ένα σύνολο έγκυρων συναλλαγών, αλλά χωρίς να απαιτείται από όλους τους κόμβους να κατεβάσουν όλα τα δεδομένα. Τα πλήρη δεδομένα συναλλαγών είναι απαραίτητα για την ανεξάρτητη επαλήθευση μπλοκ, αλλά η απαίτηση από όλους τους κόμβους να κατεβάσουν όλα τα δεδομένα συναλλαγών αποτελεί εμπόδιο στην κλιμάκωση. Οι λύσεις στο πρόβλημα διαθεσιμότητας δεδομένων στοχεύουν στην παροχή επαρκών διαβεβαιώσεων ότι τα πλήρη δεδομένα συναλλαγών που κατέστησαν διαθέσιμα για επαλήθευση στους συμμετέχοντες στο δίκτυο, δεν πραγματοποιούν λήψη και αποθήκευση των δεδομένων για εκείνους. + +Οι [Ελαφροί κόμβοι](/developers/docs/nodes-and-clients/light-clients) και τα [πακέτα ενημέρωσης επιπέδου 2](/developers/docs/scaling) είναι σημαντικά παραδείγματα συμμετεχόντων στο δίκτυο που απαιτούν ισχυρές διαβεβαιώσεις διαθεσιμότητας δεδομένων, αλλά δεν μπορούν να πραγματοποιήσουν λήψη και επεξεργασία δεδομένων συναλλαγών μόνοι τους. Η αποφυγή λήψης δεδομένων συναλλαγών είναι αυτό που κάνει τους ελαφρούς κόμβους, ελαφρούς και επιτρέπει στα πακέτα ενημέρωσης να είναι αποτελεσματικές λύσεις κλιμάκωσης. + +Η διαθεσιμότητα δεδομένων αποτελεί επίσης κρίσιμη ανησυχία για μελλοντικούς πελάτες ["χωρίς κατάσταση"](/roadmap/statelessness) Ethereum που δε χρειάζεται να πραγματοποιούν λήψη και αποθήκευση δεδομένων κατάστασης για την επαλήθευση των αποκλεισμών. Οι πελάτες χωρίς κατάσταση πρέπει ακόμα να είναι σίγουροι ότι τα δεδομένα είναι διαθέσιμα _κάπου_ και ότι έχουν υποστεί σωστή επεξεργασία. + +## Λύσεις διαθεσιμότητας δεδομένων {#data-availability-solutions} + +### Δειγματοληψία διαθεσιμότητας δεδομένων (DAS) {#data-availability-sampling} + +Η δειγματοληψία διαθεσιμότητας δεδομένων (DAS) είναι ένας τρόπος για το δίκτυο να ελέγχει ότι τα δεδομένα είναι διαθέσιμα, χωρίς να ασκείται υπερβολική πίεση σε οποιονδήποτε μεμονωμένο κόμβο. Κάθε κόμβος (συμπεριλαμβανομένων των κόμβων χωρίς αποθηκευμένο κεφάλαιο) κατεβάζει κάποιο μικρό, τυχαία επιλεγμένο υποσύνολο των δεδομένων. Η επιτυχής λήψη των δειγμάτων επιβεβαιώνει με μεγάλη σιγουριά ότι όλα τα δεδομένα είναι διαθέσιμα. Αυτό βασίζεται στην κωδικοποίηση διαγραφής δεδομένων, η οποία επεκτείνει ένα δεδομένο σύνολο με πλεοναστικές πληροφορίες (ο τρόπος με τον οποίο γίνεται αυτό είναι να προσαρμοστεί μια συνάρτηση γνωστή ως _πολυώνυμο_ στα δεδομένα και να υπολογιστεί αυτό το πολυώνυμο σε πρόσθετα σημεία). Αυτό επιτρέπει την ανάκτηση των αρχικών δεδομένων από τα πλεονάζων δεδομένα όταν είναι απαραίτητο. Συνέπεια αυτής της δημιουργίας δεδομένων είναι ότι εάν _κάποια_ από τα αρχικά δεδομένα δεν είναι διαθέσιμα, τα _μισά_ από τα αναπτυγμένα δεδομένα θα λείπουν! Το ποσό των δειγμάτων δεδομένων που κατεβάζει κάθε κόμβος μπορεί να ρυθμιστεί έτσι ώστε να είναι _εξαιρετικά_ πιθανό ότι τουλάχιστον ένα από τα δείγματα δεδομένων που δειγματοληπτείται από κάθε πελάτη θα λείπει _εάν_ είναι λιγότερα από τα μισά δεδομένα είναι πραγματικά διαθέσιμα. + +Το DAS θα χρησιμοποιηθεί για να διασφαλιστεί ότι οι χειριστές του πακέτου ενημέρωσης καθιστούν τα δεδομένα των συναλλαγών τους διαθέσιμα μετά [την πλήρη εφαρμογή του Danksharding](/roadmap/danksharding/#what-is-danksharding). Οι κόμβοι Ethereum θα δειγματοληπτούν τυχαία τα δεδομένα συναλλαγών που παρέχονται σε blobs χρησιμοποιώντας το σχήμα περιττής πληροφορίας που εξηγήθηκε παραπάνω για να διασφαλίσουν ότι όλα τα δεδομένα υπάρχουν. Η ίδια τεχνική θα μπορούσε επίσης να χρησιμοποιηθεί για να διασφαλιστεί ότι οι παραγωγοί μπλοκ καθιστούν όλα τα δεδομένα τους διαθέσιμα για την ασφάλεια των ελαφρών πελατών. Παρομοίως, υπό τον [διαχωρισμό προτείνοντος - κατασκευαστή](/roadmap/pbs), μόνο ο κατασκευαστής μπλοκ θα απαιτείται να επεξεργαστεί ένα ολόκληρο μπλοκ, άλλοι επικυρωτές θα επαληθεύουν χρησιμοποιώντας δειγματοληψία διαθεσιμότητας δεδομένων. + +### Επιτροπές διαθεσιμότητας δεδομένων {#data-availability-committees} + +Οι Επιτροπές Διαθεσιμότητας Δεδομένων (DAC) είναι αξιόπιστα μέλη που παρέχουν ή πιστοποιούν τη διαθεσιμότητα δεδομένων. Οι DAC μπορούν να χρησιμοποιηθούν αντιθέτως [ή σε συνδυασμό με](https://hackmd.io/@vbuterin/sharding_proposal#Why-not-use-just-committees-and-not-DAS) DAS. Οι εγγυήσεις ασφαλείας που συνοδεύουν τις επιτροπές εξαρτώνται από τη συγκεκριμένη εγκατάσταση. Το Ethereum χρησιμοποιεί τυχαία δειγματοληπτικά υποσύνολα επικυρωτών για να πιστοποιήσουν τη διαθεσιμότητα δεδομένων για τους ελαφρούς κόμβους, για παράδειγμα. + +Οι DAC χρησιμοποιούνται επίσης από ορισμένα validiums. Το DAC είναι ένα αξιόπιστο σύνολο κόμβων που αποθηκεύει αντίγραφα δεδομένων εκτός σύνδεσης. Το DAC απαιτείται για να καταστήσει τα δεδομένα διαθέσιμα σε περίπτωση διαφωνίας. Τα μέλη του DAC δημοσιεύουν επίσης στην αλυσίδα πιστοποιήσεις για να αποδείξουν ότι τα συγκεκριμένα δεδομένα είναι πράγματι διαθέσιμα. Ορισμένα validiums αντικαθιστούν τα DAC με ένα σύστημα επικυρωτών απόδειξης συμμετοχής (PoS). Εδώ, ο καθένας μπορεί να γίνει επικυρωτής και να αποθηκεύσει δεδομένα εκτός αλυσίδας. Ωστόσο, πρέπει να παρέχουν ένα "δεσμό", το οποίο κατατίθεται σε ένα έξυπνο συμβόλαιο. Σε περίπτωση κακόβουλης συμπεριφοράς, όπως η παρακράτηση δεδομένων από τον επικυρωτή, ο δεσμός μπορεί να κοπεί. Οι επιτροπές διαθεσιμότητας δεδομένων απόδειξης συμμετοχής είναι σημαντικά πιο ασφαλείς από τα κανονικά DAC επειδή δίνουν άμεσα κίνητρα για ειλικρινή συμπεριφορά. + +## Διαθεσιμότητα δεδομένων και κόμβοι μικρού μεγέθους {#data-availability-and-light-nodes} + +[Οι κόμβοι μικρού μεγέθους](/developers/docs/nodes-and-clients/light-clients) πρέπει να επικυρώνουν την ορθότητα των επικεφαλίδων των μπλοκ που λαμβάνουν χωρίς να κάνουν λήψη των δεδομένων του μπλοκ. Το κόστος αυτού του μικρού μεγέθους είναι η αδυναμία ανεξάρτητης επαλήθευσης των κεφαλίδων μπλοκ με την εκ νέου εκτέλεση συναλλαγών τοπικά με τον τρόπο που κάνουν οι πλήρεις κόμβοι. + +Οι κόμβοι μικρού μεγέθους του Ethereum εμπιστεύονται τυχαία σύνολα 512 επικυρωτών που έχουν εκχωρηθεί σε μια _επιτροπή συγχρονισμού_. Η επιτροπή συγχρονισμού λειτουργεί ως μια DAC που ενημερώνει τους πελάτες μικρού μεγέθους ότι τα δεδομένα στην κεφαλίδα είναι σωστά χρησιμοποιώντας μια κρυπτογραφική υπογραφή. Κάθε μέρα, η επιτροπή συγχρονισμού ανανεώνεται. Κάθε κεφαλίδα μπλοκ ειδοποιεί τους ελαφρούς κόμβους σχετικά με τους επικυρωτές που αναμένεται να υπογράψουν το _επόμενο_ μπλοκ, ώστε να μην μπορούν να εξαπατηθούν παρέχοντας εμπιστοσύνη σε μια κακόβουλη ομάδα που προσποιείται ότι είναι η πραγματική επιτροπή συγχρονισμού. + +Ωστόσο, τι συμβαίνει εάν ένας επιτιθέμενος _καταφέρει_ κάποια στιγμή να περάσει μια κακόβουλη κεφαλίδα μπλοκ σε πελάτες μικρού μεγέθους και να τους πείσει ότι υπογράφηκε από μια ειλικρινή επιτροπή συγχρονισμού; Σε αυτήν την περίπτωση, ο επιτιθέμενος θα μπορούσε να συμπεριλάβει μη έγκυρες συναλλαγές και ο ελαφρύς πελάτης θα τις δεχόταν τυφλά, καθώς δεν ελέγχει ανεξάρτητα όλες τις αλλαγές κατάστασης που συνοψίζονται στην κεφαλίδα μπλοκ. Για να προστατευθεί από αυτό, ο ελαφρύς πελάτης θα μπορούσε να χρησιμοποιήσει αποδείξεις απάτης. + +Ο τρόπος με τον οποίο λειτουργούν αυτές οι αποδείξεις απάτης είναι ότι ένας πλήρης κόμβος, βλέποντας μια μη έγκυρη μετάβαση κατάστασης να διαδίδεται στο δίκτυο, θα μπορούσε γρήγορα να δημιουργήσει ένα μικρό κομμάτι δεδομένων που να αποδεικνύει ότι μια προτεινόμενη μετάβαση κατάστασης δε θα μπορούσε να προκύψει από ένα συγκεκριμένο σύνολο συναλλαγών και να μεταδώσει αυτά τα δεδομένα στους ομότιμους. Οι ελαφροί κόμβοι θα μπορούσαν να παραλάβουν αυτές τις αποδείξεις απάτης και να τις χρησιμοποιήσουν για να απορρίψουν κακές κεφαλίδες μπλοκ, εξασφαλίζοντας ότι παραμένουν στην ίδια ειλικρινή αλυσίδα με τους πλήρεις κόμβους. + +Αυτό βασίζεται στους πλήρεις κόμβους έχοντας πρόσβαση στα πλήρη δεδομένα συναλλαγών. Ένας επιτιθέμενος που διαδίδει μια κακή κεφαλίδα μπλοκ και επίσης αποτυγχάνει να καταστήσει διαθέσιμα τα δεδομένα της συναλλαγής θα μπορούσε να αποτρέψει τους πλήρεις κόμβους από το να δημιουργήσουν αποδείξεις απάτης. Οι πλήρεις κόμβοι μπορεί να είναι σε θέση να σημάνουν μια προειδοποίηση για ένα κακό μπλοκ, αλλά δε θα μπορούσαν να υποστηρίξουν την προειδοποίησή τους με απόδειξη, επειδή τα δεδομένα δεν κατέστησαν διαθέσιμα για να δημιουργηθεί η απόδειξη! + +Η λύση σε αυτό το πρόβλημα διαθεσιμότητας δεδομένων είναι το DAS. Οι ελαφροί κόμβοι κατεβάζουν πολύ μικρά τυχαία κομμάτια των δεδομένων της πλήρους κατάστασης και χρησιμοποιούν τα δείγματα για να επαληθεύσουν ότι το πλήρες σύνολο δεδομένων είναι διαθέσιμο. Η πραγματική πιθανότητα να υποτεθεί λανθασμένα η πλήρης διαθεσιμότητα δεδομένων μετά τη λήψη N τυχαίων τμημάτων μπορεί να υπολογιστεί ([για 100 τμήματα η πιθανότητα είναι 10^-30](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html), δηλαδή εξαιρετικά απίθανη). + +Ακόμα και σε αυτό το σενάριο, οι επιθέσεις που κατακρατούν μόνο λίγα byte θα μπορούσαν ενδεχομένως να περάσουν απαρατήρητες από τους πελάτες που κάνουν τυχαία αιτήματα δεδομένων. Η κωδικοποίηση διαγραφής το διορθώνει αυτό ανακατασκευάζοντας μικρά χαμένα κομμάτια δεδομένων που μπορούν να χρησιμοποιηθούν για να ελεγχθούν οι προτεινόμενες αλλαγές κατάστασης. Μια απόδειξη απάτης θα μπορούσε στη συνέχεια να κατασκευαστεί χρησιμοποιώντας τα ανακατασκευασμένα δεδομένα, εμποδίζοντας τους ελαφρούς κόμβους από το να αποδεχτούν κακές κεφαλίδες. + +**Σημείωση**: Το DAS και οι αποδείξεις απάτης δεν έχουν ακόμη υλοποιηθεί για τους ελαφρούς πελάτες με απόδειξη συμμετοχής στο Ethereum, αλλά βρίσκονται στο χρονοδιάγραμμα πιθανότατα λαμβάνοντας τη μορφή αποδείξεων βασισμένων σε ZK-SNARK. Οι σημερινοί ελαφροί πελάτες βασίζονται σε μια μορφή DAC: επαληθεύουν τις ταυτότητες της επιτροπής συγχρονισμού και στη συνέχεια εμπιστεύονται τις υπογεγραμμένες κεφαλίδες μπλοκ που λαμβάνουν. + +## Διαθεσιμότητα δεδομένων και πακέτα ενημέρωσης επιπέδου 2 {#data-availability-and-layer-2-rollups} + +[Λύσεις κλιμάκωσης επιπέδου 2](/layer-2/), όπως τα [πακέτα συναλλαγών ](/glossary/#rollups), μειώνουν το κόστος συναλλαγών και αυξάνουν την απόδοση του Ethereum επεξεργάζοντας συναλλαγές εκτός αλυσίδας. Τα πακέτα ενημέρωσης των συναλλαγών συμπιέζονται και δημοσιεύονται στο Ethereum σε παρτίδες. Οι παρτίδες αντιπροσωπεύουν χιλιάδες ατομικές συναλλαγές εκτός αλυσίδας σε μία μόνο συναλλαγή στο Ethereum. Αυτό μειώνει τη συμφόρηση στο βασικό επίπεδο καθώς και τα τέλη για τους χρήστες. + +Ωστόσο, είναι δυνατό να εμπιστευόμαστε μόνο τις συναλλαγές 'σύνοψης' που αναρτώνται στο Ethereum εάν η προτεινόμενη αλλαγή κατάστασης μπορεί να επαληθευτεί ανεξάρτητα και να επιβεβαιωθεί ότι είναι αποτέλεσμα της εφαρμογής όλων των μεμονωμένων εκτός αλυσίδας συναλλαγών. Εάν οι διαχειριστές των πακέτων ενημέρωσης δεν κάνουν διαθέσιμα τα δεδομένα συναλλαγής για αυτήν την επαλήθευση, τότε θα μπορούσαν να στείλουν εσφαλμένα δεδομένα στο Ethereum. + +Τα [Πακέτα ενημέρωσης Optimistic](/developers/docs/scaling/optimistic-rollups/) δημοσιεύουν συμπιεσμένα δεδομένα συναλλαγών στο Ethereum και περιμένουν κάποιο χρονικό διάστημα (συνήθως 7 ημέρες) για να επιτρέψουν σε ανεξάρτητους επαληθευτές να ελέγξουν τα δεδομένα. Εάν κάποιος εντοπίσει ένα πρόβλημα, μπορεί να δημιουργήσει ένα στοιχείο προστασίας από απάτη και να το χρησιμοποιήσει για να αμφισβητήσει το πακέτο ενημέρωσης. Αυτό θα προκαλούσε την ανατροπή της αλυσίδας και την παράλειψη του μη έγκυρου μπλοκ. Είναι δυνατό μόνο εάν υπάρχουν διαθέσιμα δεδομένα. Επί του παρόντος, υπάρχουν δύο τρόποι με τους οποίους τα πακέτα ενημέρωσης optimistic στέλνουν δεδομένα συναλλαγών στο L1. Ορισμένα πακέτα συναλλαγών κάνουν τα δεδομένα μόνιμα διαθέσιμα ως `CALDATA` που ζουν μόνιμα στην αλυσίδα. Με την εφαρμογή του EIP-4844, ορισμένα πακέτα ενημέρωσης δημοσιεύουν τα δεδομένα συναλλαγών τους σε φθηνότερο χώρο αποθήκευσης blob. Αυτό δεν αφορά μόνιμη αποθήκευση. Ανεξάρτητοι επαληθευτές πρέπει να εξετάσουν τα blobs και να θέσουν τις προκλήσεις τους εντός ~18 ημερών πριν διαγραφούν τα δεδομένα από το Ethereum επιπέδου 1. Η διαθεσιμότητα δεδομένων είναι εγγυημένη μόνο από το πρωτόκολλο Ethereum για αυτό το σύντομο σταθερό διάστημα. Μετά από αυτό, γίνεται ευθύνη άλλων οντοτήτων στο οικοσύστημα Ethereum. Οποιοσδήποτε κόμβος μπορεί να επαληθεύσει τη διαθεσιμότητα δεδομένων χρησιμοποιώντας το DAS, δηλαδή κατεβάζοντας μικρά, τυχαία δείγματα των δεδομένων blob. + +Τα [πακέτα ενημέρωσης Μηδενικής γνώσης (ZK)](/developers/docs/scaling/zk-rollups) δε χρειάζεται να δημοσιεύουν δεδομένα συναλλαγών, καθώς οι [αποδείξεις εγκυρότητας μηδενικής γνώσης](/glossary/#zk-proof) εγγυώνται την ορθότητα των μεταβάσεων κατάστασης. Ωστόσο, η διαθεσιμότητα δεδομένων εξακολουθεί να αποτελεί πρόβλημα, επειδή δεν μπορούμε να εγγυηθούμε τη λειτουργικότητα των πακέτων ενημέρωσης ZK (ή να αλληλεπιδράσουμε μαζί) χωρίς πρόσβαση στα δεδομένα κατάστασης. Για παράδειγμα, οι χρήστες δεν μπορούν να γνωρίζουν τα υπόλοιπά τους εάν ένας χειριστής παρακρατεί λεπτομέρειες σχετικά με την κατάσταση του πακέτου ενημέρωσης. Επίσης, δεν μπορούν να πραγματοποιήσουν ενημερώσεις κατάστασης χρησιμοποιώντας πληροφορίες που περιέχονται σε ένα μπλοκ που προστέθηκε πρόσφατα. + +## Διαθεσιμότητα ή ανάκτηση δεδομένων {#data-availability-vs-data-retrievability} + +Η διαθεσιμότητα δεδομένων είναι διαφορετική από την ανάκτηση δεδομένων. Η διαθεσιμότητα δεδομένων είναι η διαβεβαίωση ότι οι πλήρεις κόμβοι μπόρεσαν να έχουν πρόσβαση και επαληθεύουν το πλήρες σύνολο των συναλλαγών που σχετίζονται με συγκεκριμένο μπλοκ. Δε σημαίνει απαραίτητα ότι τα δεδομένα είναι προσβάσιμα για πάντα. + +Η ανάκτηση δεδομένων είναι η ικανότητα των κόμβων να ανακτούν _ιστορικές πληροφορίες_ από την κρυπτοαλυσίδα. Αυτά τα ιστορικά δεδομένα δε χρειάζονται για την επαλήθευση νέων μπλοκ, απαιτούνται μόνο για το συγχρονισμό των πλήρεις κόμβων από το μπλοκ γένεσης ή την εξυπηρέτηση συγκεκριμένων ιστορικών αιτημάτων. + +Το βασικό πρωτόκολλο Ethereum ασχολείται κυρίως με τη διαθεσιμότητα και όχι με την ανάκτηση δεδομένων. Η ανάκτηση δεδομένων μπορεί να παρέχεται από έναν μικρό πληθυσμό κόμβων αρχείου, που εκτελούνται από τρίτα μέρη ή μπορεί να διανεμηθεί σε όλο το δίκτυο χρησιμοποιώντας υπηρεσίες αποκεντρωμένης αποθήκευσης αρχείων, όπως το [Δίκτυο Portal](https://www.ethportal.net/). + +## Περαιτέρω πληροφορίες {#further-reading} + +- [Τι είναι η διαθεσιμότητα δεδομένων;](https://medium.com/blockchain-capital-blog/wtf-is-data-availability-80c2c95ded0f) +- [Τι είναι η διαθεσιμότητα δεδομένων;](https://coinmarketcap.com/alexandria/article/what-is-data-availability) +- [Το τοπίο διαθεσιμότητας δεδομένων εκτός αλυσίδας Ethereum](https://blog.celestia.org/ethereum-offchain-data-availability-landscape/) +- [Ένα primer για τους ελέγχους διαθεσιμότητας δεδομένων](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html) +- [Επεξήγηση της πρότασης διαμοιρασμού + DAS](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling) +- [Σημείωση σχετικά με τη διαθεσιμότητα δεδομένων και την κωδικοποίηση διαγραφής](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding#can-an-attacker-not-circumvent-this-scheme-by-releasing-a-full-unavailable-block-but-then-only-releasing-individual-bits-of-data-as-clients-query-for-them) +- [Επιτροπές διαθεσιμότητας δεδομένων.](https://medium.com/starkware/data-availability-e5564c416424) +- [Επιτροπές διαθεσιμότητας δεδομένων απόδειξης συμμετοχής.](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf) +- [Λύσεις στο πρόβλημα ανάκτησης δεδομένων](https://notes.ethereum.org/@vbuterin/data_sharding_roadmap#Who-would-store-historical-data-under-sharding) +- [Διαθεσιμότητα δεδομένων ή: Πώς τα πακέτα ενημέρωσης έμαθαν να σταματούν να ανησυχούν και να αγαπούν το Ethereum](https://research.2077.xyz/data-availability-or-how-rollups-learned-to-stop-worrying-and-love-ethereum) +- [EIP-7623: Αύξηση κόστους calldata](https://research.2077.xyz/eip-7623-increase-calldata-cost) diff --git a/public/content/translations/el/developers/docs/data-structures-and-encoding/index.md b/public/content/translations/el/developers/docs/data-structures-and-encoding/index.md new file mode 100644 index 00000000000..6388e8fc90c --- /dev/null +++ b/public/content/translations/el/developers/docs/data-structures-and-encoding/index.md @@ -0,0 +1,32 @@ +--- +title: Δομές δεδομένων και κωδικοποίηση +description: Επισκόπηση των θεμελιωδών δομών δεδομένων του Ethereum. +lang: el +sidebarDepth: 2 +--- + +Το Ethereum δημιουργεί, αποθηκεύει και μεταφέρει μεγάλο όγκο δεδομένων. Αυτά τα δεδομένα πρέπει να μορφοποιηθούν με τυποποιημένους και αποδοτικούς τρόπους αποθήκευσης, ώστε να επιτραπεί σε οποιονδήποτε να [εκτελέσει έναν κόμβο](/run-a-node/) με υλικά μεσαίας κατηγορίας. Για να επιτευχθεί αυτό, χρησιμοποιούνται αρκετές συγκεκριμένες δομές δεδομένων στη στοίβα του Ethereum. + +## Προαπαιτούμενα {#prerequisites} + +Θα πρέπει να κατανοείτε τα θεμελιώδη στοιχεία του Ethereum και της [εφαρμογής λογισμικού πελάτη](/developers/docs/nodes-and-clients/). Συνιστάται η εξοικείωση με το επίπεδο δικτύωσης και [τη λευκή βίβλο του Ethereum](/whitepaper/). + +## Δομές δεδομένων {#data-structures} + +### Patricia merkle tries {#patricia-merkle-tries} + +Το Patricia Merkle Tries είναι μια δομή δεδομένων που κωδικοποιεί τα ζεύγη κλειδιού-αξίας σε μια ντετερμινιστική και κρυπτογραφικά πιστοποιημένη κατάσταση. Χρησιμοποιούνται εκτενώς σε όλο το επίπεδο εκτέλεσης του Ethereum. + +[Περισσότερα για το Patricia Merkle Tries](/developers/docs/data-structures-and-encoding/patricia-merkle-trie) + +### Recursive Length Prefix {#recursive-length-prefix} + +Το Recursive Length Prefix (RLP) είναι μια μέθοδος σειριοποίησης που χρησιμοποιείται εκτενώς σε όλο το επίπεδο εκτέλεσης του Ethereum. + +[Περισσότερα για τα RLP](/developers/docs/data-structures-and-encoding/rlp) + +### Απλή σειριοποίηση {#simple-serialize} + +Η απλή σειριοποίηση (SSZ) είναι η κυρίαρχη μορφή σειριοποίησης στο επίπεδο συναίνεσης του Ethereum λόγω της συμβατότητάς του με merklelization. + +[Περισσότερα για SSZ](/developers/docs/data-structures-and-encoding/ssz) diff --git a/public/content/translations/el/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md b/public/content/translations/el/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md new file mode 100644 index 00000000000..38da506fb89 --- /dev/null +++ b/public/content/translations/el/developers/docs/data-structures-and-encoding/patricia-merkle-trie/index.md @@ -0,0 +1,263 @@ +--- +title: Merkle Patricia Trie +description: Εισαγωγή στο Merkle Patricia Trie. +lang: el +sidebarDepth: 2 +--- + +Η κατάσταση του Ethereum (το σύνολο όλων των λογαριασμών, υπολοίπων και έξυπνων συμβολαίων) κωδικοποιείται σε μια ειδική έκδοση της δομής δεδομένων που είναι γνωστή γενικά στην επιστήμη υπολογιστών ως Merkle Tree. Αυτή η δομή είναι χρήσιμη για πολλές εφαρμογές στην κρυπτογραφία επειδή δημιουργεί μια αποδεδειγμένη σχέση μεταξύ όλων των μεμονωμένων κομματιών δεδομένων που περιπλέκονται στο δέντρο, με αποτέλεσμα μια ενιαία τιμή **ρίζας** που μπορεί να χρησιμοποιηθεί για να αποδειχθούν πράγματα για τα δεδομένα. + +Η δομή δεδομένων του Ethereum είναι ένα 'τροποποιημένο Merkle-Patricia Trie', που ονομάζεται έτσι επειδή δανείζεται ορισμένα χαρακτηριστικά από το PATRICIA (ο πρακτικός αλγόριθμος για την ανάκτηση πληροφοριών κωδικοποιημένων αλφαριθμητικά) και επειδή έχει σχεδιαστεί για αποτελεσματική ανάκτηση δεδομένων **trie** που αποτελούν την κατάσταση Ethereum. + +A Merkle-Patricia trie is deterministic and cryptographically verifiable: The only way to generate a state root is by computing it from each individual piece of the state, and two states that are identical can be easily proven so by comparing the root hash and the hashes that led to it (_a Merkle proof_). Αντίθετα, δεν υπάρχει τρόπος να δημιουργηθούν δύο διαφορετικές καταστάσεις με το ίδιο hash ρίζας, και οποιαδήποτε προσπάθεια τροποποίησης της κατάστασης με διαφορετικές τιμές θα οδηγήσει σε διαφορετικό hash ρίζας κατάστασης. Θεωρητικά, αυτή η δομή παρέχει το 'ιερό δισκοπότηρο' της απόδοσης `O(log(n))` για εισαγωγές, αναζητήσεις και διαγραφές. + +Στο κοντινό μέλλον, το Ethereum σχεδιάζει να μεταφερθεί σε μια δομή [Verkle Tree](https://ethereum.org/en/roadmap/verkle-trees), η οποία θα ανοίξει πολλές νέες δυνατότητες για μελλοντικές βελτιώσεις του πρωτοκόλλου. + +## Προαπαιτούμενα {#prerequisites} + +Για να κατανοήσετε καλύτερα αυτή τη σελίδα, θα ήταν χρήσιμο να έχετε βασικές γνώσεις σχετικά με τα [hash](https://en.wikipedia.org/wiki/Hash_function), τα [δέντρα Merkle](https://en.wikipedia.org/wiki/Merkle_tree), τα [tries](https://en.wikipedia.org/wiki/Trie) και τη [σειριοποίηση](https://en.wikipedia.org/wiki/Serialization). Αυτό το άρθρο ξεκινά με μια περιγραφή ενός βασικού [δέντρου radix](https://en.wikipedia.org/wiki/Radix_tree), και στη συνέχεια εισάγει σταδιακά τις τροποποιήσεις που απαιτούνται για την πιο βελτιστοποιημένη δομή δεδομένων του Ethereum. + +## Βασικά δέντρα radix {#basic-radix-tries} + +Σε ένα βασικό δέντρο radix, κάθε κόμβος φαίνεται ως εξής: + +``` + [i_0, i_1 ... i_n, value] +``` + +Όπου `i_0 ... i_n` αντιπροσωπεύουν τα σύμβολα του αλφαβήτου (συχνά δυαδικά ή δεκαεξαδικά), η `τιμή` είναι η τελική τιμή στον κόμβο και οι τιμές στις θέσεις `i_0, i_1 ... i_n` είναι είτε `NULL` είτε δείκτες (στην περίπτωσή μας, hashes) άλλων κόμβων. Αυτό σχηματίζει ένα βασικό αποθηκευτικό χώρο `(κλειδί, τιμή)`. + +Ας υποθέσουμε ότι θέλετε να χρησιμοποιήσετε μια δομή δεδομένων δέντρου radix για την επιμονή μιας σειράς ζευγών κλειδιού-τιμής. Για να βρείτε την τιμή που αντιστοιχίζεται αυτήν τη στιγμή στο κλειδί `dog` στο trie, θα μετατρέπατε πρώτα το `dog` σε γράμματα του αλφαβήτου (δίδοντας `64 6f 67)` και στη συνέχεια θα κατεβαίνατε το trie ακολουθώντας αυτό το μονοπάτι μέχρι να βρείτε την τιμή. Αυτό σημαίνει ότι ξεκινάτε αναζητώντας τον hash της ρίζας σε μια επίπεδη βάση δεδομένων κλειδιού/τιμής για να βρείτε τον κόμβο ρίζας του trie. Αντιπροσωπεύεται ως ένας πίνακας κλειδιών που δείχνουν σε άλλους κόμβους. Θα χρησιμοποιούσατε την τιμή στο δείκτη `6` ως κλειδί και θα την αναζητούσατε στην επίπεδη βάση δεδομένων κλειδιού/τιμής για να πάρετε τον κόμβο ένα επίπεδο κάτω. Στη συνέχεια επιλέγετε το δείκτη `4` για να αναζητήσετε την επόμενη τιμή, στη συνέχεια επιλέγετε το δείκτη `6`, και ούτω καθεξής, μέχρι, αφού ακολουθήσετε το μονοπάτι: `root -> 6 -> 4 -> 6 -> 15 -> 6 -> 7`, θα αναζητούσατε την τιμή του κόμβου και θα επιστρέφατε το αποτέλεσμα. + +Υπάρχει μια διαφορά μεταξύ της αναζήτησης κάτι στο 'trie' και της υποκείμενης επίπεδης βάσης δεδομένων κλειδιού/τιμής 'DB'. Και τα δύο ορίζουν διατάξεις κλειδιού/τιμής, αλλά η υποκείμενη DB μπορεί να κάνει μια παραδοσιακή αναζήτηση ενός βήματος ενός κλειδιού. Η αναζήτηση ενός κλειδιού στο trie απαιτεί πολλές υποκείμενες αναζητήσεις DB για να φτάσει στην τελική τιμή που περιγράφεται παραπάνω. Ας αναφερθούμε στο τελευταίο ως ένα `μονοπάτι` για να εξαλείψουμε την ασάφεια. + +Οι λειτουργίες ενημέρωσης και διαγραφής για τα δέντρα radix μπορούν να οριστούν ως εξής: + +``` + def update(node_hash, path, value): + curnode = db.get(node_hash) if node_hash else [ NULL ] * 17 + newnode = curnode.copy() + if path == '': + newnode[-1] = value + else: + newindex = update(curnode[path[0]], path[1:], value) + newnode[path[0]] = newindex + db.put(hash(newnode), newnode) + return hash(newnode) + + def delete(node_hash, path): + if node_hash is NULL: + return NULL + else: + curnode = db.get(node_hash) + newnode = curnode.copy() + if path == '': + newnode[-1] = NULL + else: + newindex = delete(curnode[path[0]], path[1:]) + newnode[path[0]] = newindex + + if all(x is NULL for x in newnode): + return NULL + else: + db.put(hash(newnode), newnode) + return hash(newnode) +``` + +Ένα δέντρο Radix Merkle κατασκευάζεται συνδέοντας κόμβους χρησιμοποιώντας κρυπτογραφικά hash digests που παράγονται καθοριστικά. Αυτή η αντιστοίχιση περιεχομένου (στο κλειδί/τιμή DB `key == keccak256(rlp(value))`) παρέχει μια κρυπτογραφική εγγύηση ακεραιότητας των αποθηκευμένων δεδομένων. Εάν το hash ρίζας ενός δεδομένου trie είναι δημόσια γνωστό, τότε ο καθένας που έχει πρόσβαση στα υποκείμενα δεδομένα φύλλων μπορεί να κατασκευάσει μια απόδειξη ότι το trie περιλαμβάνει μια δεδομένη τιμή σε μια συγκεκριμένη διαδρομή παρέχοντας τα hash κάθε κόμβου που συνδέει μια συγκεκριμένη τιμή με τη ρίζα του δέντρου. + +Είναι αδύνατο για έναν επιτιθέμενο να παράσχει μια απόδειξη ενός ζεύγους `(διαδρομή, τιμή)` που δεν υπάρχει, καθώς το hash ρίζας βασίζεται τελικά σε όλα τα hash κάτω από αυτό. Οποιαδήποτε υποκείμενη τροποποίηση θα άλλαζε το hash ρίζας. Μπορείτε να σκεφτείτε το hash ως μια συμπιεσμένη αναπαράσταση δομικών πληροφοριών σχετικά με τα δεδομένα, ασφαλισμένη από την προστασία προ-εικόνας της συνάρτησης hashing. + +Θα αναφερόμαστε σε μια ατομική μονάδα ενός δέντρου radix (π.χ. ένας μόνο εξαδικός χαρακτήρας ή 4 δυαδικός αριθμός) ως "nibble". Κατά την παρακολούθηση μιας διαδρομής ένα nibble κάθε φορά, όπως περιγράφεται παραπάνω, οι κόμβοι μπορούν μέγιστα να αναφέρονται σε 16 παιδιά αλλά να περιλαμβάνουν ένα στοιχείο `τιμής`. Κατά συνέπεια, τους αντιπροσωπεύουμε ως έναν πίνακα μήκους 17. Αποκαλούμε αυτούς τους πίνακες 17 στοιχείων "κόμβοι κλάδου". + +## Merkle Patricia Trie {#merkle-patricia-trees} + +Οι radix tries έχουν ένα σημαντικό περιορισμό: είναι αναποτελεσματικές. Εάν θέλετε να αποθηκεύσετε μία δέσμη `(path, value)` όπου το path, όπως στο Ethereum, έχει μήκος 64 χαρακτήρες (τον αριθμό των nibbles σε `bytes32`), θα χρειαστούμε πάνω από ένα kilobyte επιπλέον χώρου για να αποθηκεύσουμε ένα επίπεδο ανά χαρακτήρα, και κάθε αναζήτηση ή διαγραφή θα χρειαστεί τα πλήρη 64 βήματα. Το Patricia trie που εισάγεται στη συνέχεια επιλύει αυτό το πρόβλημα. + +### Βελτιστοποίηση {#optimization} + +Ένας κόμβος σε μια Merkle Patricia trie είναι ένα από τα εξής: + +1. `NULL` (αντιπροσωπεύεται ως κενή συμβολοσειρά) +2. `branch` Ένας κόμβος 17 στοιχείων `[ v0 ... v15, vt ]` +3. `leaf` Ένας κόμβος 2 στοιχείων `[ encodedPath, value ]` +4. `extension` Ένας κόμβος 2 στοιχείων `[ encodedPath, key ]` + +Με διαδρομές 64 χαρακτήρων είναι αναπόφευκτο ότι μετά την διέλευση των πρώτων λίγων επιπέδων της trie, θα φτάσετε σε έναν κόμβο όπου δεν υπάρχει αποκλίνουσα διαδρομή για τουλάχιστον μέρος του δρόμου προς τα κάτω. Για να αποφύγουμε τη δημιουργία έως και 15 κενών κόμβων `NULL` κατά μήκος της διαδρομής, συντομεύουμε την κάθοδο δημιουργώντας έναν κόμβο `extension` της μορφής `[ encodedPath, key ]`, όπου το `encodedPath` περιέχει τη "μερική διαδρομή" για να παραλείψουμε μπροστά (χρησιμοποιώντας μια συμπαγή κωδικοποίηση που περιγράφεται παρακάτω) και το `key` είναι για την επόμενη αναζήτηση DB. + +Για έναν κόμβο `leaf`, ο οποίος μπορεί να επισημανθεί με μια σημαία στο πρώτο nibble του `encodedPath`, η διαδρομή κωδικοποιεί τα τμήματα διαδρομής όλων των προηγούμενων κόμβων και μπορούμε να αναζητήσουμε την `value` απευθείας. + +Αυτή η παραπάνω βελτιστοποίηση, ωστόσο, εισάγει ασάφεια. + +Κατά τη διέλευση διαδρομών σε nibbles, μπορεί να καταλήξουμε σε έναν περιττό αριθμό nibbles για διέλευση, αλλά επειδή όλα τα δεδομένα αποθηκεύονται σε μορφή `byte`. Δεν είναι δυνατό να διαφοροποιηθεί μεταξύ, για παράδειγμα, του nibble `1` και των nibbles `01` (και τα δύο πρέπει να αποθηκευτούν ως `<01>`). Για να καθοριστεί το περιττό μήκος, η μερική διαδρομή τροποποιείται με μια σημαία. + +### Προδιαγραφή: Συμπαγής κωδικοποίηση εξαγωνικής ακολουθίας με προαιρετικό τερματιστή {#specification} + +Η σηματοδότηση τόσο _της περιττής όσο και της άρτιας υπόλοιπης μερικής διαδρομής μήκους_ και του _κόμβου φύλλου ως κόμβου επέκτασης_ όπως περιγράφεται παραπάνω βρίσκεται στο πρώτο nibble της μερικής διαδρομής οποιουδήποτε κόμβου 2 στοιχείων. Αυτό έχει ως αποτέλεσμα τα εξής: + + hex char bits | node type partial path length + ---------------------------------------------------------- + 0 0000 | extension even + 1 0001 | extension odd + 2 0010 | terminating (leaf) even + 3 0011 | terminating (leaf) odd + +Για άρτιο υπόλοιπο μήκος διαδρομής (`0` ή `2`), ένα άλλο nibble "padding" `0` θα ακολουθεί πάντα. + +``` + def compact_encode(hexarray): + term = 1 if hexarray[-1] == 16 else 0 + if term: hexarray = hexarray[:-1] + oddlen = len(hexarray) % 2 + flags = 2 * term + oddlen + if oddlen: + hexarray = [flags] + hexarray + else: + hexarray = [flags] + [0] + hexarray + // hexarray now has an even length whose first nibble is the flags. + o = '' + for i in range(0,len(hexarray),2): + o += chr(16 * hexarray[i] + hexarray[i+1]) + return o +``` + +Παραδείγματα: + +``` + > [ 1, 2, 3, 4, 5, ...] + '11 23 45' + > [ 0, 1, 2, 3, 4, 5, ...] + '00 01 23 45' + > [ 0, f, 1, c, b, 8, 10] + '20 0f 1c b8' + > [ f, 1, c, b, 8, 10] + '3f 1c b8' +``` + +Ακολουθεί ο επεκταμένος κώδικας για την απόκτηση ενός κόμβου στο δέντρο Merkle Patricia: + +``` + def get_helper(node_hash,path): + if path == []: return node_hash + if node_hash == '': return '' + curnode = rlp.decode(node_hash if len(node_hash) < 32 else db.get(node_hash)) + if len(curnode) == 2: + (k2, v2) = curnode + k2 = compact_decode(k2) + if k2 == path[:len(k2)]: + return get(v2, path[len(k2):]) + else: + return '' + elif len(curnode) == 17: + return get_helper(curnode[path[0]],path[1:]) + + def get(node_hash,path): + path2 = [] + for i in range(len(path)): + path2.push(int(ord(path[i]) / 16)) + path2.push(ord(path[i]) % 16) + path2.push(16) + return get_helper(node_hash,path2) +``` + +### Παράδειγμα «Trie» {#example-trie} + +Ας υποθέσουμε ότι θέλουμε ένα trie που περιέχει τέσσερα ζεύγη διαδρομή/τιμή `('do', 'verb')`, `('dog', 'puppy')`, `('doge', 'coins')`, `('horse', 'stallion')`. + +Πρώτα, μετατρέπουμε τόσο τις διαδρομές όσο και τις τιμές σε `byte`. Παρακάτω, οι πραγματικές αναπαραστάσεις byte για τις _διαδρομές_ υποδεικνύονται με `<>`, αν και οι _τιμές_ εμφανίζονται ακόμα ως συμβολοσειρές, που υποδεικνύονται με `'`', για ευκολότερη κατανόηση (θα ήταν επίσης πραγματικά `byte`): + +``` + <64 6f> : 'verb' + <64 6f 67> : 'puppy' + <64 6f 67 65> : 'coins' + <68 6f 72 73 65> : 'stallion' +``` + +Τώρα, κατασκευάζουμε ένα τέτοιο trie με τα ακόλουθα ζεύγη κλειδί/τιμή στην υποκείμενη βάση δεδομένων: + +``` + rootHash: [ <16>, hashA ] + hashA: [ <>, <>, <>, <>, hashB, <>, <>, <>, [ <20 6f 72 73 65>, 'stallion' ], <>, <>, <>, <>, <>, <>, <>, <> ] + hashB: [ <00 6f>, hashC ] + hashC: [ <>, <>, <>, <>, <>, <>, hashD, <>, <>, <>, <>, <>, <>, <>, <>, <>, 'verb' ] + hashD: [ <17>, [ <>, <>, <>, <>, <>, <>, [ <35>, 'coins' ], <>, <>, <>, <>, <>, <>, <>, <>, <>, 'puppy' ] ] +``` + +Όταν ένας κόμβος αναφέρεται μέσα σε έναν άλλο κόμβο, αυτό που περιλαμβάνεται είναι `H(rlp.encode(node))`, όπου `H(x) = keccak256(x) if len(x) >= 32 αλλιώς `x και `rlp.encode` είναι η συνάρτηση κωδικοποίησης [RLP](/developers/docs/data-structures-and-encoding/rlp). + +Σημειώστε ότι κατά την ενημέρωση ενός trie, πρέπει να αποθηκεύσετε το ζεύγος κλειδί/τιμή `(keccak256(x), x)` σε έναν μόνιμο πίνακα αναζήτησης _εάν_ ο νεοδημιουργημένος κόμβος έχει μήκος >= 32. Ωστόσο, εάν ο κόμβος είναι μικρότερος από αυτό, δεν χρειάζεται να αποθηκεύσετε τίποτα, καθώς η συνάρτηση f(x) = x είναι αναστρέψιμη. + +## Τα Tries στο Ethereum {#tries-in-ethereum} + +Όλα τα merkle tries στο επίπεδο εκτέλεσης του Ethereum χρησιμοποιούν ένα Merkle Patricia Trie. + +Από μια κεφαλίδα μπλοκ υπάρχουν 3 ρίζες από 3 από αυτά τα tries. + +1. stateRoot +2. transactionsRoot +3. receiptsRoot + +### Κατάσταση Trie {#state-trie} + +Υπάρχει ένα παγκόσμιο trie κατάστασης και ενημερώνεται κάθε φορά που ένας πελάτης επεξεργάζεται ένα μπλοκ. Σε αυτό, μια `path` είναι πάντα: `keccak256(ethereumAddress)` και μια `τιμή` είναι πάντα: `rlp(ethereumAccount)`. Πιο συγκεκριμένα, ένας `account` ethereum είναι ένας πίνακας 4 στοιχείων από `[nonce,balance,storageRoot,codeHash]`. Σε αυτό το σημείο, αξίζει να σημειωθεί ότι αυτό το `storageRoot` είναι η ρίζα ενός άλλου trie πατρίσια: + +### Αποθηκευτικός χώρος «Trie» {#storage-trie} + +Το storage trie είναι όπου υπάρχουν _όλα_ τα δεδομένα συμβολαίου. Υπάρχει ένα ξεχωριστό storage trie για κάθε λογαριασμό. Για να ανακτήσετε τιμές σε συγκεκριμένες θέσεις αποθήκευσης σε μια δεδομένη διεύθυνση, απαιτούνται η διεύθυνση αποθήκευσης, η ακέραια θέση των αποθηκευμένων δεδομένων στην αποθήκευση και το αναγνωριστικό μπλοκ. Αυτά μπορούν στη συνέχεια να περαστούν ως ορίσματα στο `eth_getStorageAt` που ορίζεται στο API JSON-RPC, π.χ. για να ανακτήσετε τα δεδομένα στην υποδοχή αποθήκευσης 0 για τη διεύθυνση `0x295a70b2de5e3953354a6a8344e616ed314d7251`: + +``` +curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}' localhost:8545 + +{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"} + +``` + +Η ανάκτηση άλλων στοιχείων στην αποθήκευση είναι λίγο πιο περίπλοκη επειδή πρέπει πρώτα να υπολογιστεί η θέση στο storage trie. Η θέση υπολογίζεται ως το hash `keccak256` της διεύθυνσης και της θέσης αποθήκευσης, και τα δύο αριστερά γεμισμένα με μηδενικά σε μήκος 32 byte. Για παράδειγμα, η θέση για τα δεδομένα στην υποδοχή αποθήκευσης 1 για τη διεύθυνση `0x391694e7e0b0cce554cb130d723a9d27458f9298` είναι: + +``` +keccak256(decodeHex("000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001")) +``` + +Σε μια κονσόλα Geth, αυτό μπορεί να υπολογιστεί ως εξής: + +``` +> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001" +undefined +> web3.sha3(key, {"encoding": "hex"}) +"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9" +``` + +Η `path` είναι επομένως `keccak256(<6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9>)`. Αυτό μπορεί τώρα να χρησιμοποιηθεί για να ανακτήσει τα δεδομένα από το trie αποθήκευσης όπως πριν: + +``` +curl -X POST --data '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}' localhost:8545 + +{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000000000000000000000000000000000000000162e"} +``` + +Σημείωση: Το `storageRoot` για έναν λογαριασμό Ethereum είναι κενό από προεπιλογή εάν δεν είναι λογαριασμός συμβολαίου. + +### Συναλλαγές Trie {#transaction-trie} + +Υπάρχει ένα ξεχωριστό trie συναλλαγών για κάθε μπλοκ, αποθηκεύοντας και πάλι ζεύγη `(key, value)`. Μια διαδρομή εδώ είναι: `rlp(transactionIndex)` που αντιπροσωπεύει το κλειδί που αντιστοιχεί σε μια τιμή που καθορίζεται από: + +``` +if legacyTx: + value = rlp(tx) +else: + value = TxType | encode(tx) +``` + +Περισσότερες πληροφορίες σχετικά με αυτό μπορούν να βρεθούν στην τεκμηρίωση [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718). + +### Αποδείξεις Trie {#receipts-trie} + +Κάθε μπλοκ έχει το δικό του trie αποδείξεων. Ένα `path` εδώ είναι: `rlp(transactionIndex)`. Το `transactionIndex` είναι ο δείκτης του μέσα στο μπλοκ όπου συμπεριλήφθηκε. Το trie αποδείξεων δεν ενημερώνεται ποτέ. Παρόμοια με το trie συναλλαγών, υπάρχουν τρέχουσες και παλιές αποδείξεις. Για να ερωτηθεί μια συγκεκριμένη απόδειξη στο trie αποδείξεων, απαιτείται ο δείκτης της συναλλαγής στο μπλοκ της, το φορτίο απόδειξης και ο τύπος συναλλαγής. Η επιστρεφόμενη απόδειξη μπορεί να είναι τύπου `Receipt` που ορίζεται ως η συνένωση του `TransactionType` και του `ReceiptPayload` ή μπορεί να είναι τύπου `LegacyReceipt` που ορίζεται ως `rlp([status, cumulativeGasUsed, logsBloom, logs])`. + +Περισσότερες πληροφορίες σχετικά με αυτό μπορούν να βρεθούν στην τεκμηρίωση [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718). + +## Περισσότερες πληροφορίες {#further-reading} + +- [Τροποποιημένο δέντρο Merkle Patricia — Πώς το Ethereum αποθηκεύει μια κατάσταση](https://medium.com/codechain/modified-merkle-patricia-trie-how-ethereum-saves-a-state-e6d7555078dd) +- [Merkling στο Ethereum](https://blog.ethereum.org/2015/11/15/merkling-in-ethereum/) +- [Κατανόηση του trie Ethereum](https://easythereentropy.wordpress.com/2014/06/04/understanding-the-ethereum-trie/) diff --git a/public/content/translations/el/developers/docs/data-structures-and-encoding/rlp/index.md b/public/content/translations/el/developers/docs/data-structures-and-encoding/rlp/index.md new file mode 100644 index 00000000000..3cb887907c4 --- /dev/null +++ b/public/content/translations/el/developers/docs/data-structures-and-encoding/rlp/index.md @@ -0,0 +1,163 @@ +--- +title: Σειριοποίηση Recursive-length prefix (RLP) +description: Ένας ορισμός της κωδικοποίησης rlp στο επίπεδο εκτέλεσης του Ethereum. +lang: el +sidebarDepth: 2 +--- + +Το Recursive Length Prefix (RLP) χρησιμοποιείται εκτενώς στους πελάτες εκτέλεσης του Ethereum. Το RLP τυποποιεί τη μεταφορά δεδομένων μεταξύ κόμβων σε μια μορφή αποδοτική στο χώρο. Ο σκοπός του RLP είναι να κωδικοποιεί αυθαίρετα ενσωματωμένους πίνακες δυαδικών δεδομένων και το RLP είναι η κύρια μέθοδος κωδικοποίησης που χρησιμοποιείται για τη σειριοποίηση αντικειμένων στο επίπεδο εκτέλεσης του Ethereum. Ο κύριος σκοπός του RLP είναι η κωδικοποίηση δομής με εξαίρεση τους θετικούς ακέραιους, το RLP αναθέτει την κωδικοποίηση συγκεκριμένων τύπων δεδομένων (π.χ. συμβολοσειρές, αριθμοί κινητής υποδιαστολής) σε πρωτόκολλα υψηλότερης τάξης. Οι θετικοί ακέραιοι πρέπει να αναπαρίστανται σε δυαδική μορφή big-endian χωρίς μηδενικά προηγούμενα (κάνοντας έτσι την τιμή ακέραιου μηδέν ισοδύναμη με τον κενό πίνακα byte). Οι αποσειριοποιημένοι θετικοί ακέραιοι με μηδενικά προηγούμενα πρέπει να αντιμετωπίζονται ως μη έγκυροι από οποιοδήποτε πρωτόκολλο υψηλότερης τάξης που χρησιμοποιεί RLP. + +Περισσότερες πληροφορίες στο [τεχνικές πληροφορίες του Ethereum (Παράρτημα Β)](https://ethereum.github.io/yellowpaper/paper.pdf#page=19). + +Για να χρησιμοποιήσετε το RLP για την κωδικοποίηση ενός λεξικού, οι δύο προτεινόμενες κανονικές μορφές είναι: + +- Χρησιμοποιήστε `[[k1,v1],[k2,v2]...]` με κλειδιά σε λεξικογραφική σειρά. +- Χρησιμοποιήστε την κωδικοποίηση δέντρου Patricia υψηλότερου επιπέδου όπως κάνει το Ethereum. + +## Επεξήγηση {#definition} + +Η συνάρτηση κωδικοποίησης RLP παίρνει ένα στοιχείο. Ένα στοιχείο ορίζεται ως εξής: + +- Μια συμβολοσειρά (δηλαδή πίνακας byte) είναι ένα στοιχείο. +- Μια λίστα στοιχείων είναι ένα αντικείμενο. +- Ένας θετικός ακέραιος είναι ένα αντικείμενο. + +Για παράδειγμα, όλα τα παρακάτω είναι αντικείμενα: + +- Μια κενή συμβολοσειρά. +- Η συμβολοσειρά που περιέχει τη λέξη "cat". +- Μια λίστα που περιέχει οποιοδήποτε αριθμό συμβολοσειρών. +- Και πιο πολύπλοκες δομές δεδομένων όπως `["cat", ["puppy", "cow"], "horse", [[]], "pig", [""], "sheep"]`. +- Ο αριθμός `100`. + +Σημειώστε ότι στο πλαίσιο της υπόλοιπης σελίδας, η "συμβολοσειρά" σημαίνει "ένας συγκεκριμένος αριθμός byte δεδομένων", δε χρησιμοποιούνται ειδικές κωδικοποιήσεις και δεν υπονοείται καμία γνώση σχετικά με το περιεχόμενο των συμβολοσειρών (εκτός από ό, τι απαιτείται από τον κανόνα κατά των μη ελάχιστων θετικών ακεραίων). + +Η κωδικοποίηση RLP ορίζεται ως εξής: + +- Για έναν θετικό ακέραιο, μετατρέπεται στον μικρότερο πίνακα byte του οποίου η ερμηνεία big-endian είναι ο ακέραιος και στη συνέχεια κωδικοποιείται ως συμβολοσειρά σύμφωνα με τους παρακάτω κανόνες. +- Για ένα μόνο byte του οποίου η τιμή βρίσκεται στο εύρος `[0x00, 0x7f]` (δεκαδικό `[0, 127]`), αυτό το byte είναι η δική του κωδικοποίηση RLP. +- Διαφορετικά, εάν μια συμβολοσειρά έχει μήκος 0-55 byte, η κωδικοποίηση RLP αποτελείται από ένα μόνο byte με τιμή **0x80** (δεκ. 128) συν το μήκος της συμβολοσειράς ακολουθούμενο από τη συμβολοσειρά. Το εύρος του πρώτου byte είναι έτσι `[0x80, 0xb7]` (δεκ. `[128, 183]`). +- Εάν μια συμβολοσειρά έχει μήκος μεγαλύτερο από 55 byte, η κωδικοποίηση RLP αποτελείται από ένα μόνο byte με τιμή **0xb7** (δεκ. 183) συν το μήκος σε byte του μήκους της συμβολοσειράς σε δυαδική μορφή, ακολουθούμενο από το μήκος της συμβολοσειράς, ακολουθούμενο από τη συμβολοσειρά. Για παράδειγμα, μια συμβολοσειρά μήκους 1024 byte θα κωδικοποιηθεί ως `\xb9\x04\x00` (δεκ. `185, 4, 0`) ακολουθούμενη από τη συμβολοσειρά. Εδώ, `0xb9` (183 + 2 = 185) ως το πρώτο byte, ακολουθούμενο από τα 2 byte `0x0400` (δεκ. 1024) που υποδηλώνουν το μήκος της πραγματικής συμβολοσειράς. Το εύρος του πρώτου byte είναι έτσι `[0xb8, 0xbf]` (δεκ. `[184, 191]`). +- Εάν μια συμβολοσειρά έχει μήκος 2^64 byte ή μεγαλύτερο, ενδέχεται να μην μπορεί να κωδικοποιηθεί. +- Εάν το συνολικό φορτίο μιας λίστας (δηλαδή το συνδυασμένο μήκος όλων των στοιχείων της που κωδικοποιούνται RLP) έχει μήκος 0-55 byte, η κωδικοποίηση RLP αποτελείται από ένα μόνο byte με τιμή **0xc0** συν το μήκος του φορτίου ακολουθούμενο από τη συνένωση των κωδικοποιήσεων RLP των στοιχείων. Το εύρος του πρώτου byte είναι έτσι `[0xc0, 0xf7]` (δεκ. `[192, 247]`). +- Εάν ο συνολικός όγκος μιας λίστας έχει μήκος μεγαλύτερο από 55 byte, η κωδικοποίηση RLP αποτελείται από ένα μόνο byte με τιμή **0xf7** συν το μήκος σε byte του φορτίου σε δυαδική μορφή, ακολουθούμενο από το μήκος του φορτίου, ακολουθούμενο από τη συνένωση των κωδικοποιήσεων RLP των στοιχείων. Το εύρος του πρώτου byte είναι έτσι `[0xf8, 0xff]` (δεκ. `[248, 255])`. + +Σε κώδικα, αυτό είναι: + +```python +def rlp_encode(input): + if isinstance(input,str): + if len(input) == 1 and ord(input) < 0x80: + return input + return encode_length(len(input), 0x80) + input + elif isinstance(input, list): + output = '' + for item in input: + output += rlp_encode(item) + return encode_length(len(output), 0xc0) + output + +def encode_length(L, offset): + if L < 56: + return chr(L + offset) + elif L < 256**8: + BL = to_binary(L) + return chr(len(BL) + offset + 55) + BL + raise Exception("input too long") + +def to_binary(x): + if x == 0: + return '' + return to_binary(int(x / 256)) + chr(x % 256) +``` + +## Παραδείγματα {#examples} + +- η συμβολοσειρά "dog" = [ 0x83, 'd', 'o', 'g' ] +- η λίστα [ "cat", "dog" ] = `[ 0xc8, 0x83, 'c', 'a', 't', 0x83, 'd', 'o', 'g' ]` +- η κενή συμβολοσειρά ('null') = `[ 0x80 ]` +- η κενή λίστα = `[ 0xc0 ]` +- ο ακέραιος 0 = `[ 0x80 ]` +- το byte '\\x00' = `[ 0x00 ]` +- το byte '\\x0f' = `[ 0x0f ]` +- τα bytes '\\x04\\x00' = `[ 0x82, 0x04, 0x00 ]` +- τα [σύνολα θεωρητικής αναπαράστασης](http://en.wikipedia.org/wiki/Set-theoretic_definition_of_natural_numbers) of three, `[ [], [[]], [ [], [[]] ] ] = [ 0xc7, 0xc0, 0xc1, 0xc0, 0xc3, 0xc0, 0xc1, 0xc0 ]` +- η συμβολοσειρά "Lorem ipsum dolor sit amet, consectetur adipisicing elit" = `[ 0xb8, 0x38, 'L', 'o', 'r', 'e', 'm', ' ', ... , 'e', 'l', 'i', 't' ]` + +## Αποκωδικοποίηση RLP {#rlp-decoding} + +Σύμφωνα με τους κανόνες και τη διαδικασία κωδικοποίησης RLP, η είσοδος της αποκωδικοποίησης RLP θεωρείται ως ένας πίνακας δυαδικών δεδομένων. Η διαδικασία αποκωδικοποίησης RLP είναι ως εξής: + +1. Σύμφωνα με το πρώτο byte (δηλαδή το πρόθεμα) των δεδομένων εισόδου και την αποκωδικοποίηση του τύπου δεδομένων, το μήκος των πραγματικών δεδομένων και την απόσταση. + +2. Σύμφωνα με τον τύπο και την απόσταση των δεδομένων, αποκωδικοποιήστε τα δεδομένα αντίστοιχα, τηρώντας τον ελάχιστο κανόνα κωδικοποίησης για θετικούς ακέραιους. + +3. συνεχίστε να αποκωδικοποιείτε το υπόλοιπο της εισόδου. + +Μεταξύ αυτών, οι κανόνες αποκωδικοποίησης των τύπων δεδομένων και της απόστασης είναι ως εξής: + +1. Τα δεδομένα είναι μια συμβολοσειρά εάν το εύρος του πρώτου byte (δηλαδή το πρόθεμα) είναι [0x00, 0x7f] και η συμβολοσειρά είναι το ίδιο το πρώτο byte ακριβώς. + +2. Τα δεδομένα είναι μια συμβολοσειρά εάν το εύρος του πρώτου byte είναι [0x80, 0xb7] και η συμβολοσειρά του οποίου το μήκος είναι ίσο με το πρώτο byte μείον 0x80 ακολουθεί το πρώτο byte. + +3. Τα δεδομένα είναι μια συμβολοσειρά εάν το εύρος του πρώτου byte είναι [0xb8, 0xbf] και το μήκος της συμβολοσειράς του οποίου το μήκος σε byte είναι ίσο με το πρώτο byte μείον 0xb7 ακολουθεί το πρώτο byte και η συμβολοσειρά ακολουθεί το μήκος της συμβολοσειράς. + +4. Τα δεδομένα είναι μια λίστα εάν το εύρος του πρώτου byte είναι [0xc0, 0xf7] και η σύμπλεξη των κωδικοποιήσεων RLP όλων των στοιχείων της λίστας των οποίων το συνολικό φορτίο είναι ίσο με το πρώτο byte μείον 0xc0 ακολουθεί το πρώτο byte. + +5. Τα δεδομένα είναι μια λίστα εάν το εύρος του πρώτου byte είναι [0xf8, 0xff] και το συνολικό φορτίο της λίστας του οποίου το μήκος είναι ίσο με το πρώτο byte μείον 0xf7 ακολουθεί το πρώτο byte και η σύμπλεξη των κωδικοποιήσεων RLP όλων των στοιχείων της λίστας ακολουθεί το συνολικό φορτίο της λίστας. + +Σε κώδικα, αυτό είναι: + +```python +def rlp_decode(input): + if len(input) == 0: + return + output = '' + (offset, dataLen, type) = decode_length(input) + if type is str: + output = instantiate_str(substr(input, offset, dataLen)) + elif type is list: + output = instantiate_list(substr(input, offset, dataLen)) + output += rlp_decode(substr(input, offset + dataLen)) + return output + +def decode_length(input): + length = len(input) + if length == 0: + raise Exception("input is null") + prefix = ord(input[0]) + if prefix <= 0x7f: + return (0, 1, str) + elif prefix <= 0xb7 and length > prefix - 0x80: + strLen = prefix - 0x80 + return (1, strLen, str) + elif prefix <= 0xbf and length > prefix - 0xb7 and length > prefix - 0xb7 + to_integer(substr(input, 1, prefix - 0xb7)): + lenOfStrLen = prefix - 0xb7 + strLen = to_integer(substr(input, 1, lenOfStrLen)) + return (1 + lenOfStrLen, strLen, str) + elif prefix <= 0xf7 and length > prefix - 0xc0: + listLen = prefix - 0xc0; + return (1, listLen, list) + elif prefix <= 0xff and length > prefix - 0xf7 and length > prefix - 0xf7 + to_integer(substr(input, 1, prefix - 0xf7)): + lenOfListLen = prefix - 0xf7 + listLen = to_integer(substr(input, 1, lenOfListLen)) + return (1 + lenOfListLen, listLen, list) + raise Exception("input does not conform to RLP encoding form") + +def to_integer(b): + length = len(b) + if length == 0: + raise Exception("input is null") + elif length == 1: + return ord(b[0]) + return ord(substr(b, -1)) + to_integer(substr(b, 0, -1)) * 256 +``` + +## Περισσότερες πληροφορίες {#further-reading} + +- [RLP στο Ethereum](https://medium.com/coinmonks/data-structure-in-ethereum-episode-1-recursive-length-prefix-rlp-encoding-decoding-d1016832f919) +- [Ethereum στα βάθη του: RLP](https://medium.com/coinmonks/ethereum-under-the-hood-part-3-rlp-decoding-df236dc13e58) +- [Coglio, A. (2020). Το Recursive Length Prefix του Ethereum στο ACL2. arXiv preprint arXiv:2009.13769.](https://arxiv.org/abs/2009.13769) + +## Σχετικά θέματα {#related-topics} + +- [Patricia merkle trie](/developers/docs/data-structures-and-encoding/patricia-merkle-trie) diff --git a/public/content/translations/el/developers/docs/data-structures-and-encoding/ssz/index.md b/public/content/translations/el/developers/docs/data-structures-and-encoding/ssz/index.md new file mode 100644 index 00000000000..47dc7c2461a --- /dev/null +++ b/public/content/translations/el/developers/docs/data-structures-and-encoding/ssz/index.md @@ -0,0 +1,149 @@ +--- +title: Απλή σειριοποίηση +description: Επεξήγηση της μορφής SSZ του Ethereum. +lang: el +sidebarDepth: 2 +--- + +**Απλή σειριοποίηση (SSZ)** είναι η μέθοδος σειριοποίησης που χρησιμοποιείται στο Beacon Chain. Αντικαθιστά τη σειριοποίηση RLP που χρησιμοποιείται στο επίπεδο εκτέλεσης παντού στο επίπεδο συναίνεσης εκτός από το πρωτόκολλο ανακάλυψης ομότιμου. Για να μάθετε περισσότερα σχετικά με τη σειριοποίηση RLP, ανατρέξτε στην ενότητα [Πρόθεμα αναδρομικού μήκους (RLP)](/developers/docs/data-structures-and-encoding/rlp/). Το SSZ έχει σχεδιαστεί για να είναι ντετερμινιστικό και επίσης να είναι αποτελεσματικό στο merkleize. Το SSZ μπορεί να θεωρηθεί ότι έχει δύο στοιχεία: ένα σχήμα σειριοποίησης και ένα σχήμα Merkleization που έχει σχεδιαστεί για να λειτουργεί αποτελεσματικά με τη σειριακή δομή δεδομένων. + +## Πώς λειτουργεί το SSZ; {#how-does-ssz-work} + +### Σειριοποίηση {#serialization} + +Το SSZ είναι ένα σχήμα σειριοποίησης που δεν αυτοπεριγράφεται - μάλλον βασίζεται σε ένα σχήμα που πρέπει να είναι γνωστό εκ των προτέρων. Ο στόχος της σειριοποίησης SSZ είναι να αναπαραστούν αντικείμενα αυθαίρετης πολυπλοκότητας ως συμβολοσειρές bytes. Αυτή είναι μια πολύ απλή διαδικασία για «βασικούς τύπους». Το στοιχείο απλώς μετατρέπεται σε δεκαεξαδικά bytes. Οι βασικοί τύποι περιλαμβάνουν: + +- unsigned integers +- Booleans + +Για τους σύνθετους τύπους, η σειριοποίηση είναι πιο περίπλοκη επειδή ο σύνθετος τύπος περιέχει πολλαπλά στοιχεία που μπορεί να έχουν διαφορετικούς τύπους ή διαφορετικά μεγέθη ή και τα δύο. Όπου όλα αυτά τα αντικείμενα έχουν σταθερά μήκη (δηλαδή το μέγεθος των στοιχείων θα είναι πάντα σταθερό ανεξάρτητα από τις πραγματικές τους τιμές) η σειριοποίηση είναι απλώς μια μετατροπή κάθε στοιχείου στον σύνθετο τύπο ταξινομημένο σε bytestrings little-endian. Αυτά τα bytestrings ενώνονται μεταξύ τους. Το σειριοποιημένο αντικείμενο έχει την αναπαράσταση bytelist των στοιχείων σταθερού μήκους στην ίδια σειρά με την οποία εμφανίζονται στο αποσυσκευασμένο αντικείμενο. + +Για τύπους με μεταβλητά μήκη, τα πραγματικά δεδομένα αντικαθίστανται από μια τιμή "offset" στη θέση αυτού του στοιχείου στο σειριοποιημένο αντικείμενο. Τα πραγματικά δεδομένα προστίθενται σε έναν σωρό στο τέλος του σειριοποιημένου αντικειμένου. Η τιμή offset είναι ο δείκτης για την αρχή των πραγματικών δεδομένων στο σωρό, λειτουργώντας ως δείκτης στα σχετικά bytes. + +Το παρακάτω παράδειγμα απεικονίζει πώς λειτουργεί η μετατόπιση για έναν περιέκτη με στοιχεία σταθερού και μεταβλητού μήκους: + +```Rust + + struct Dummy { + + number1: u64, + number2: u64, + vector: Vec, + number3: u64 + } + + dummy = Dummy{ + + number1: 37, + number2: 55, + vector: vec![1,2,3,4], + number3: 22, + } + + serialized = ssz.serialize(dummy) + +``` + +Το `serialized` θα είχε την ακόλουθη δομή (εδώ συμπληρώνεται μόνο σε 4 bit, στην πραγματικότητα συμπληρώνεται σε 32 bit και διατηρείται η αναπαράσταση `int` για λόγους σαφήνειας): + +``` +[37, 0, 0, 0, 55, 0, 0, 0, 16, 0, 0, 0, 22, 0, 0, 0, 1, 2, 3, 4] +------------ ----------- ----------- ----------- ---------- + | | | | | + number1 number2 offset for number 3 value for + vector vector + +``` + +Χωρισμένο σε γραμμές για λόγους σαφήνειας: + +``` +[ + 37, 0, 0, 0, # little-endian encoding of `number1`. + 55, 0, 0, 0, # little-endian encoding of `number2`. + 16, 0, 0, 0, # The "offset" that indicates where the value of `vector` starts (little-endian 16). + 22, 0, 0, 0, # little-endian encoding of `number3`. + 1, 2, 3, 4, # The actual values in `vector`. +] +``` + +Αυτό εξακολουθεί να είναι μια απλοποίηση, οι ακέραιοι και τα μηδενικά στα παραπάνω σχήματα θα αποθηκεύονταν στην πραγματικότητα ως λίστες byte, όπως αυτή: + +``` +[ + 10100101000000000000000000000000 # little-endian encoding of `number1` + 10110111000000000000000000000000 # little-endian encoding of `number2`. + 10010000000000000000000000000000 # The "offset" that indicates where the value of `vector` starts (little-endian 16). + 10010110000000000000000000000000 # little-endian encoding of `number3`. + 10000001100000101000001110000100 # The actual value of the `bytes` field. +] +``` + +Έτσι, οι πραγματικές τιμές για τους τύπους μεταβλητού μήκους αποθηκεύονται σε ένα σωρό στο τέλος του σειριοποιημένου αντικειμένου με τις μετατοπίσεις τους αποθηκευμένες στις σωστές θέσεις τους στην ταξινομημένη λίστα των πεδίων. + +Υπάρχουν επίσης ορισμένες ειδικές περιπτώσεις που απαιτούν ειδική διαχείριση, όπως ο τύπος `BitList` που απαιτεί να προστεθεί ένα όριο μήκους κατά τη σειριοποίηση και να αφαιρεθεί κατά την αποσειριοποίηση. Πλήρεις λεπτομέρειες είναι διαθέσιμες στις [προδιαγραφές SSZ](https://github.com/ethereum/consensus-specs/blob/dev/ssz/simple-serialize.md). + +### Αποσειριοποίηση {#deserialization} + +Για να αποσειριοποιήσετε αυτό το αντικείμενο απαιτείται το σχήμα. Το σχήμα ορίζει την ακριβή διάταξη των σειριοποιημένων δεδομένων, έτσι ώστε κάθε συγκεκριμένο στοιχείο να μπορεί να αποσειριοποιηθεί από ένα blob byte σε κάποιο ουσιαστικό αντικείμενο με τα στοιχεία να έχουν τον σωστό τύπο, τιμή, μέγεθος και θέση. Είναι το σχήμα που λέει στον αποσειριοποιητή ποιες τιμές είναι πραγματικές τιμές και ποιες είναι μετατοπίσεις. Όλα τα ονόματα πεδίων εξαφανίζονται όταν ένα αντικείμενο σειριοποιείται, αλλά αποκαθίστανται κατά την αποσειριοποίηση σύμφωνα με το σχήμα. + +Δείτε το [ssz.dev](https://www.ssz.dev/overview) για μια διαδραστική εξήγηση σχετικά με αυτό. + +## Merkleization {#merkleization} + +Αυτό το σειριοποιημένο αντικείμενο SSZ μπορεί στη συνέχεια να μετατραπεί σε Merkle, δηλαδή να μετατραπεί σε μια αναπαράσταση Merkle-δέντρου των ίδιων δεδομένων. Πρώτον, προσδιορίζεται ο αριθμός των chunk των 32 byte στο σειριοποιημένο αντικείμενο. Αυτά είναι τα «φύλλα» του δέντρου. Ο συνολικός αριθμός των φύλλων πρέπει να είναι δύναμη του 2, έτσι ώστε ο τελικός συνδυασμός των φύλλων να παράγει τελικά μια μόνο ρίζα δέντρου κατακερματισμού. Εάν αυτό δεν συμβαίνει φυσικά, προστίθενται επιπλέον φύλλα που περιέχουν 32 byte μηδενικών. Διαγραμματικά: + +``` + hash tree root + / \ + / \ + / \ + / \ + hash of leaves hash of leaves + 1 and 2 3 and 4 + / \ / \ + / \ / \ + / \ / \ + leaf1 leaf2 leaf3 leaf4 +``` + +Υπάρχουν επίσης περιπτώσεις όπου τα φύλλα του δέντρου δεν κατανέμονται φυσικά ομοιόμορφα όπως στο παραπάνω παράδειγμα. Για παράδειγμα, το φύλλο 4 θα μπορούσε να είναι ένα δοχείο με πολλαπλά στοιχεία που απαιτούν την προσθήκη πρόσθετου "βάθους" στο δέντρο Merkle, δημιουργώντας ένα άνισο δέντρο. + +Αντί να αναφερόμαστε σε αυτά τα στοιχεία δέντρου ως φύλλο X, κόμβος X κ.λπ., μπορούμε να τους δώσουμε γενικευμένους δείκτες, ξεκινώντας από τη ρίζα = 1 και μετρώντας από αριστερά προς τα δεξιά σε κάθε επίπεδο. Αυτός είναι ο γενικευμένος δείκτης που εξηγήθηκε παραπάνω. Κάθε στοιχείο στη σειριασμένη λίστα έχει έναν γενικευμένο δείκτη ίσο με `2 ** depth + idx` όπου idx είναι η θέση του μηδενικού δείκτη στο σειριασμένο αντικείμενο και το βάθος είναι ο αριθμός των επιπέδων στο δέντρο Merkle, το οποίο μπορεί να προσδιοριστεί ως ο δυαδικός λογάριθμος του αριθμού των στοιχείων (φύλλα). + +## Γενικευμένοι δείκτες {#generalized-indices} + +Ένας γενικευμένος δείκτης είναι ένας ακέραιος που αντιπροσωπεύει έναν κόμβο σε ένα δυαδικό δέντρο Merkle όπου κάθε κόμβος έχει έναν γενικευμένο δείκτη `2 ** depth + δείκτης στη σειρά`. + +``` + 1 --depth = 0 2**0 + 0 = 1 + 2 3 --depth = 1 2**1 + 0 = 2, 2**1+1 = 3 + 4 5 6 7 --depth = 2 2**2 + 0 = 4, 2**2 + 1 = 5... + +``` + +Αυτή η αναπαράσταση αποδίδει έναν δείκτη κόμβου για κάθε κομμάτι δεδομένων στο δέντρο Merkle. + +## Πολλαπλές πιστοποιήσεις {#multiproofs} + +Η παροχή της λίστας των γενικευμένων δεικτών που αντιπροσωπεύουν ένα συγκεκριμένο στοιχείο μας επιτρέπει να το επαληθεύσουμε έναντι της ρίζας του δέντρου hash. Αυτή η ρίζα είναι η αποδεκτή έκδοση της πραγματικότητας από εμάς. Οποιαδήποτε δεδομένα μας παρέχονται μπορούν να επαληθευτούν έναντι αυτής της πραγματικότητας εισάγοντάς τα στη σωστή θέση στο δέντρο Merkle (καθορισμένη από τον γενικευμένο δείκτη του) και παρατηρώντας ότι η ρίζα παραμένει σταθερή. Υπάρχουν συναρτήσεις στις προδιαγραφές [εδώ](https://github.com/ethereum/consensus-specs/blob/dev/ssz/merkle-proofs.md#merkle-multiproofs) που δείχνουν πώς να υπολογίσουμε το ελάχιστο σύνολο κόμβων που απαιτούνται για την επαλήθευση του περιεχομένου ενός συγκεκριμένου συνόλου γενικευμένων δεικτών. + +Για παράδειγμα, για να επαληθεύσουμε δεδομένα στον δείκτη 9 στο παρακάτω δέντρο, χρειαζόμαστε το hash των δεδομένων στους δείκτες 8, 9, 5, 3, 1. Το hash του (8,9) πρέπει να ισούται με το hash (4), το οποίο κάνει hash με το 5 για να παράγει το 2, το οποίο κάνει hash με το 3 για να παράγει τη ρίζα του δέντρου 1. Εάν παρέχθηκαν εσφαλμένα δεδομένα για το 9, η ρίζα θα άλλαζε - θα το ανιχνεύαμε αυτό και θα αποτύχαμε να επαληθεύσουμε το κλάδο. + +``` +* = data required to generate proof + + 1* + 2 3* + 4 5* 6 7 +8* 9* 10 11 12 13 14 15 + +``` + +## Περισσότερες πληροφορίες {#further-reading} + +- [Αναβάθμιση Ethereum: SSZ](https://eth2book.info/altair/part2/building_blocks/ssz) +- [Αναβάθμιση Ethereum: Merkleization](https://eth2book.info/altair/part2/building_blocks/merkleization) +- [Υλοποιήσεις SSZ](https://github.com/ethereum/consensus-specs/issues/2138) +- [Υπολογιστής SSZ](https://simpleserialize.com/) +- [SSZ.dev](https://www.ssz.dev/) diff --git a/public/content/translations/el/developers/docs/data-structures-and-encoding/web3-secret-storage-definition/index.md b/public/content/translations/el/developers/docs/data-structures-and-encoding/web3-secret-storage-definition/index.md new file mode 100644 index 00000000000..7bf5aa691b4 --- /dev/null +++ b/public/content/translations/el/developers/docs/data-structures-and-encoding/web3-secret-storage-definition/index.md @@ -0,0 +1,189 @@ +--- +title: Ορισμός μυστικού αποθηκευτικού χώρου Web3 +description: Επίσημος ορισμός για τον μυστικό αποθηκευτικό χώρο web3 +lang: el +sidebarDepth: 2 +--- + +Για να κάνετε την εφαρμογή σας να λειτουργεί στο Ethereum, μπορείτε να χρησιμοποιήσετε το αντικείμενο web3 που παρέχεται από τη βιβλιοθήκη web3.js. Επικοινωνεί με έναν τοπικό κόμβο μέσω κλήσεων RPC. Το [web3](https://github.com/ethereum/web3.js/) λειτουργεί με οποιονδήποτε κόμβο Ethereum που εκθέτει ένα επίπεδο RPC. + +Το `web3` περιέχει το αντικείμενο `eth` - web3.eth. + +```js +var fs = require("fs") +var recognizer = require("ethereum-keyfile-recognizer") + +fs.readFile("keyfile.json", (err, data) => { + var json = JSON.parse(data) + var result = recognizer(json) +}) + +/** result + * [ 'web3', 3 ] web3 (v3) keyfile + * [ 'ethersale', undefined ] Ethersale keyfile + * null invalid keyfile + */ +``` + +Αυτό τεκμηριώνει το **version 3** του ορισμού μυστικού αποθηκευτικού χώρου Web3. + +## Επεξήγηση {#definition} + +Η πραγματική κωδικοποίηση και αποκωδικοποίηση του αρχείου παραμένει σε μεγάλο βαθμό αμετάβλητη από την έκδοση 1, εκτός από το ότι ο αλγόριθμος κρυπτογράφησης δεν είναι πλέον σταθερός στο AES-128-CBC (το AES-128-CTR είναι πλέον η ελάχιστη απαίτηση). Οι περισσότερες έννοιες/αλγόριθμοι είναι παρόμοιες με την έκδοση 1, εκτός από το `mac`, το οποίο δίνεται ως SHA3 (keccak-256) των συνδέσεων του δεύτερου πιο αριστερού 16 bytes του παραγόμενου κλειδιού μαζί με το πλήρες `ciphertext`. + +Τα αρχεία μυστικού κλειδιού αποθηκεύονται απευθείας στο `~/.web3/keystore` (για συστήματα τύπου Unix) και στο `~/AppData/Web3/keystore` (για Windows). Μπορεί να ονομάζονται οτιδήποτε, αλλά μια καλή σύμβαση είναι `.json`, όπου `` είναι το UUID 128-bit που δίνεται στο μυστικό κλειδί (ένα διατηρητέο - ιδιωτικό του μεσολαβητή για τη διεύθυνση του μυστικού κλειδιού). + +Όλα αυτά τα αρχεία έχουν σχετικό κωδικό πρόσβασης. Για να εξαγάγετε το μυστικό κλειδί ενός αρχείου `.json`, εξάγετε το κλειδί κρυπτογράφησης του. Αυτό γίνεται με τη λήψη του κωδικού πρόσβασης του αρχείου και τη διέλευση του μέσω μιας λειτουργίας παραγωγής κλειδιού όπως περιγράφεται από το κλειδί `kdf`. Οι στατικές και δυναμικές παράμετροι που εξαρτώνται από το KDF για τη λειτουργία KDF περιγράφονται στο κλειδί `kdfparams`. + +Το PBKDF2 πρέπει να υποστηρίζεται από όλες τις ελάχιστα συμβατές υλοποιήσεις, με την ένδειξη όμως: + +- `kdf`: `pbkdf2` + +Για PBKDF2, τα kdfparams συμπεριλαμβάνουν: + +- `prf`: Πρέπει να είναι `hmac-sha256` (μπορεί να επεκταθεί στο μέλλον)˙ +- `c`: αριθμός επαναλήψεων; +- `salt`: salt που μεταβιβάστηκε στο PBKDF +- `dklen`: μήκος για το προέρχοντα κλειδί. Πρέπει να είναι >= 32. + +Μόλις ληφθεί το κλειδί του αρχείου, θα πρέπει να επαληθευτεί μέσω της παραγωγής του MAC. Το MAC θα πρέπει να υπολογιστεί ως ο κατακερματισμός SHA3 (keccak-256) του πίνακα byte που σχηματίζεται ως συνενώσεις των 16 πιο αριστερών byte του παραγόμενου κλειδιού με τα περιεχόμενα του κλειδιού `ciphertext`, π.χ.: + +```js +KECCAK(DK[16..31] ++ ) +``` + +(όπου `++` είναι ο τελεστής συνένωσης) + +Αυτή η τιμή πρέπει να συγκριθεί με τα περιεχόμενα του κλειδιού `mac`. Εάν είναι διαφορετικοί, θα πρέπει να ζητηθεί εναλλακτικός κωδικός πρόσβασης (ή να ακυρωθεί η λειτουργία). + +Αφού επαληθευτεί το κλειδί του αρχείου, το κείμενο κρυπτογράφησης (το κλειδί `κρυπτογραφημένο κείμενο` στο αρχείο) μπορεί να αποκρυπτογραφηθεί χρησιμοποιώντας τον αλγόριθμο συμμετρικής κρυπτογράφησης που καθορίζεται από το κλειδί `κρυπτογράφηση` και παραμετροποιείται μέσω του κλειδιού `cipherparams`. Εάν το παραγόμενο μέγεθος κλειδιού και το μέγεθος κλειδιού του αλγορίθμου δεν ταιριάζουν, τα μηδενικά συμπληρωμένα, δεξιά byte του παραγόμενου κλειδιού θα πρέπει να χρησιμοποιηθούν ως κλειδί στον αλγόριθμο. + +Όλες οι ελάχιστα συμβατές υλοποιήσεις πρέπει να υποστηρίζουν τον αλγόριθμο AES-128-CTR, ο οποίος υποδηλώνεται ως εξής: + +- `cipher: aes-128-ctr` + +Αυτή η κρυπτογράφηση λαμβάνει τις ακόλουθες παραμέτρους, που δίνονται ως κλειδιά στο κλειδί cipherparams: + +- `iv`: Διάνυσμα αρχικοποίησης 128-bit για την κρυπτογράφηση. + +Το κλειδί για τον κρυπτογράφηση είναι τα αριστερά 16 byte του παραγόμενου κλειδιού, δηλαδή `DK[0..15]` + +Η δημιουργία/κρυπτογράφηση ενός μυστικού κλειδιού θα πρέπει να είναι ουσιαστικά το αντίστροφο αυτών των οδηγιών. Βεβαιωθείτε ότι τα `uuid`, `salt` και `iv` είναι πραγματικά τυχαία. + +Εκτός από το πεδίο `version`, το οποίο θα πρέπει να λειτουργεί ως "συμπαγές" αναγνωριστικό της έκδοσης, οι υλοποιήσεις μπορούν επίσης να χρησιμοποιούν την `minorversion` για την παρακολούθηση μικρότερων, μη παραβιαστικών αλλαγών στη μορφή. + +## Δοκιμαστικά Vectors {#test-vectors} + +Λεπτομέρειες: + +- `Address`: `008aeeda4d805471df9b2a5b0f38a0c3bcba786b` +- `ICAP`: `XE542A5PZHH8PYIZUBEJEO0MFWRAPPIL67` +- `UUID`: `3198bc9c-6672-5ab3-d9954942343ae5b6` +- `Password`: `testpassword` +- `Secret`: `7a28b5ba57c53603b0b07b56bba752f7784bf506fa95edc395f5cf6c7514fe9d` + +### PBKDF2-SHA-256 {#PBKDF2-SHA-256} + +Δοκιμή διανύσματος με χρήση `AES-128-CTR` και `PBKDF2-SHA-256`: + +Περιεχόμενο αρχείου του `~/.web3/keystore/3198bc9c-6672-5ab3-d9954942343ae5b6.json`: + +```json +{ + "crypto": { + "cipher": "aes-128-ctr", + "cipherparams": { + "iv": "6087dab2f9fdbbfaddc31a909735c1e6" + }, + "ciphertext": "5318b4d5bcd28de64ee5559e671353e16f075ecae9f99c7a79a38af5f869aa46", + "kdf": "pbkdf2", + "kdfparams": { + "c": 262144, + "dklen": 32, + "prf": "hmac-sha256", + "salt": "ae3cd4e7013836a3df6bd7241b12db061dbe2c6785853cce422d148a624ce0bd" + }, + "mac": "517ead924a9d0dc3124507e3393d175ce3ff7c1e96529c6c555ce9e51205e9b2" + }, + "id": "3198bc9c-6672-5ab3-d995-4942343ae5b6", + "version": 3 +} +``` + +**Intermediates**: + +`Derived key`: `f06d69cdc7da0faffb1008270bca38f5e31891a3a773950e6d0fea48a7188551` `MAC Body`: `e31891a3a773950e6d0fea48a71885515318b4d5bcd28de64ee5559e671353e16f075ecae9f99c7a79a38af5f869aa46` `MAC`: `517ead924a9d0dc3124507e3393d175ce3ff7c1e96529c6c555ce9e51205e9b2` `Cipher key`: `f06d69cdc7da0faffb1008270bca38f5` + +### Scrypt {#scrypt} + +Δοκιμαστικό διάνυσμα χρησιμοποιώντας AES-128-CTR και Scrypt: + +```json +{ + "crypto": { + "cipher": "aes-128-ctr", + "cipherparams": { + "iv": "740770fce12ce862af21264dab25f1da" + }, + "ciphertext": "dd8a1132cf57db67c038c6763afe2cbe6ea1949a86abc5843f8ca656ebbb1ea2", + "kdf": "scrypt", + "kdfparams": { + "dklen": 32, + "n": 262144, + "p": 1, + "r": 8, + "salt": "25710c2ccd7c610b24d068af83b959b7a0e5f40641f0c82daeb1345766191034" + }, + "mac": "337aeb86505d2d0bb620effe57f18381377d67d76dac1090626aa5cd20886a7c" + }, + "id": "3198bc9c-6672-5ab3-d995-4942343ae5b6", + "version": 3 +} +``` + +**Intermediates**: + +`Derived key`: `7446f59ecc301d2d79bc3302650d8a5cedc185ccbb4bf3ca1ebd2c163eaa6c2d` `MAC Body`: `edc185ccbb4bf3ca1ebd2c163eaa6c2ddd8a1132cf57db67c038c6763afe2cbe6ea1949a86abc5843f8ca656ebbb1ea2` `MAC`: `337aeb86505d2d0bb620effe57f18381377d67d76dac1090626aa5cd20886a7c` `Cipher key`: `7446f59ecc301d2d79bc3302650d8a5c` + +## Αλλαγές από την 'Εκδοση 1 {#alterations-from-v2} + +Αυτή η έκδοση διορθώνει αρκετές ασυνέπειες με την έκδοση 1 που δημοσιεύτηκε [εδώ](https://github.com/ethereum/homestead-guide/blob/master/old-docs-for-reference/go-ethereum-wiki.rst/Passphrase-protected-key-store-spec.rst). Συνοπτικά αυτές είναι: + +- Η χρήση κεφαλαίων είναι αδικαιολόγητη και ασυνεπής (πεζά γράμματα κρυπτογράφησης, μικτά γράμματα Kdf, κεφαλαία MAC). +- Αντιμετωπίζει τα περιττά και θέτει σε κίνδυνο το απόρρητο. +- Το `Salt` είναι εγγενώς μια παράμετρος της συνάρτησης παραγωγής κλειδιού και αξίζει να συσχετιστεί με αυτό, όχι με το crypto γενικά. +- Το _SaltLen_ είναι περιττό (απλώς αντλήστε το από το Salt). +- Η συνάρτηση εξαγωγής κλειδιού δίνεται, ωστόσο ο αλγόριθμος κρυπτογράφησης είναι δύσκολο να καθοριστεί. +- Το `Version` είναι εγγενώς αριθμητικό, αλλά είναι συμβολοσειρά (η δομημένη έκδοση θα ήταν δυνατή με μια συμβολοσειρά, αλλά μπορεί να θεωρηθεί εκτός πεδίου εφαρμογής για μια σπάνια μεταβαλλόμενη μορφή αρχείου διαμόρφωσης). +- Το `KDF` και το `cipher` είναι πλασματικά αδερφικές έννοιες αλλά οργανώνονται διαφορετικά. +- Το `MAC` υπολογίζεται μέσω ενός αγνωστικού τμήματος δεδομένων κενού διαστήματος(!) + +Έχουν γίνει αλλαγές στη μορφοποίηση για να δοθεί στο ακόλουθο αρχείο, λειτουργικότητα ισοδύναμη με το παράδειγμα που δόθηκε στην προηγούμενη συνδεδεμένη σελίδα: + +```json +{ + "crypto": { + "cipher": "aes-128-cbc", + "ciphertext": "07533e172414bfa50e99dba4a0ce603f654ebfa1ff46277c3e0c577fdc87f6bb4e4fe16c5a94ce6ce14cfa069821ef9b", + "cipherparams": { + "iv": "16d67ba0ce5a339ff2f07951253e6ba8" + }, + "kdf": "scrypt", + "kdfparams": { + "dklen": 32, + "n": 262144, + "p": 1, + "r": 8, + "salt": "06870e5e6a24e183a5c807bd1c43afd86d573f7db303ff4853d135cd0fd3fe91" + }, + "mac": "8ccded24da2e99a11d48cda146f9cc8213eb423e2ea0d8427f41c3be414424dd", + "version": 1 + }, + "id": "0498f19a-59db-4d54-ac95-33901b4f1870", + "version": 2 +} +``` + +## Αλλαγές από την Έκδοση 2 {#alterations-from-v2} + +Η έκδοση 2 ήταν μια πρώιμη υλοποίηση της C++ με έναν αριθμό σφαλμάτων. Όλα τα βασικά παραμένουν αμετάβλητα από αυτό. diff --git a/public/content/translations/el/developers/docs/design-and-ux/dex-design-best-practice/index.md b/public/content/translations/el/developers/docs/design-and-ux/dex-design-best-practice/index.md new file mode 100644 index 00000000000..cd2fb8ea542 --- /dev/null +++ b/public/content/translations/el/developers/docs/design-and-ux/dex-design-best-practice/index.md @@ -0,0 +1,218 @@ +--- +title: Βέλτιστες πρακτικές σχεδιασμού Αποκεντρωμένων Ανταλλακτηρίων (DEX) +description: Ένας οδηγός που εξηγεί τις αποφάσεις σχεδιασμού εμπειρίας χρήστη (UX) και διεπαφής χρήστη (UI) για την ανταλλαγή κρύπτο. +lang: el +--- + +Από την κυκλοφορία του Uniswap το 2018, έχουν κυκλοφορήσει εκατοντάδες αποκεντρωμένα ανταλλακτήρια σε δεκάδες διαφορετικές αλυσίδες. +Πολλά από αυτά έχουν εισαγάγει νέα στοιχεία ή έχουν προσθέσει τη δική τους πινελιά, αλλά η διεπαφή έχει παραμείνει γενικά η ίδια. + +Ένας λόγος για αυτό είναι ο [νόμος του Jakob][Jakob’s Law](https://lawsofux.com/jakobs-law/): + +> Οι χρήστες περνούν το μεγαλύτερο μέρος του χρόνου τους σε άλλους ιστότοπους. Αυτό σημαίνει ότι οι χρήστες προτιμούν ο ιστότοπός σας να λειτουργεί με τον ίδιο τρόπο όπως όλοι οι άλλοι ιστότοποι που ήδη γνωρίζουν. + +Χάρη σε πρώτους καινοτόμους όπως το Uniswap, το Pancakeswap και το Sushiswap, οι χρήστες DeFi έχουν μια συλλογική ιδέα για το πώς φαίνεται ένα DEX. +Για το λόγο αυτό, κάτι σαν «καλύτερη πρακτική» αναδύεται τώρα. Βλέπουμε όλο και περισσότερες αποφάσεις σχεδιασμού να τυποποιούνται σε όλους τους ιστότοπους. Μπορείτε να δείτε την εξέλιξη των DEX ως ένα τεράστιο παράδειγμα δοκιμής του ζωντανά. Τα πράγματα που δούλεψαν έμειναν, τα πράγματα που δεν δούλεψαν, πετάχτηκαν έξω. Υπάρχει ακόμα χώρος για προσωπικότητα, αλλά υπάρχουν ορισμένα πρότυπα που πρέπει να συμμορφώνεται ένα DEX. + +Αυτό το άρθρο είναι μια περίληψη του: + +- Τι να συμπεριλαμβάνει. +- Πώς να το κάνετε όσο πιο εύχρηστο γίνεται. +- Οι κύριοι τρόποι προσαρμογής του σχεδιασμού. + +Όλα τα παραδείγματα δημιουργήθηκαν ειδικά για αυτό το άρθρο, αν και όλα βασίζονται σε πραγματικά έργα. + +Το κιτ Figma περιλαμβάνεται επίσης στο κάτω μέρος, μη διστάσετε να το χρησιμοποιήσετε και να επιταχύνετε τα δικά σας καλώδια! + +## Βασική ανατομία ενός DEX {#basic-anatomy-of-a-dex} + +Το UI γενικά περιέχει τρία στοιχεία: + +1. Κύρια φόρμα +2. Κουμπί +3. Πίνακας λεπτομερειών + +![Generic DEX UI, showing the three main elements](./1.png) + +## Παραλλαγές {#variations} + +Αυτό θα είναι ένα κοινό θέμα σε αυτό το άρθρο, αλλά υπάρχουν διάφοροι διαφορετικοί τρόποι οργάνωσης αυτών των στοιχείων. Ο "πίνακας λεπτομερειών" μπορεί να είναι: + +- Πάνω από το κουμπί +- Κάτω από το κουμπί +- Κρυμμένο σε πάνελ ακορντεόν +- Και/ή σε τρόπο "προεπισκόπησης" + +Υ.Γ. Ο τρόπος "προεπισκόπησης" είναι προαιρετικός, αλλά αν εμφανίζετε πολύ λίγες λεπτομέρειες για το κύριο περιβάλλον χρήστη, είναι απαραίτητο. + +## Δομή της κύριας φόρμας {#structure-of-the-main-form} + +Αυτό είναι το πλαίσιο όπου επιλέγετε πραγματικά ποιο ψηφιακό στοιχείο θέλετε να ανταλλάξετε. Το στοιχείο αποτελείται από ένα πεδίο εισαγωγής και ένα μικρό κουμπί σε μία σειρά. + +Τα DEX συνήθως εμφανίζουν περισσότερες λεπτομέρειες σε μία γραμμή πάνω και μία γραμμή κάτω, αν και αυτό μπορεί να ρυθμιστεί διαφορετικά. + +![Σειρά εισαγωγής, με σειρά λεπτομερειών πάνω και κάτω](./2.png) + +## Παραλλαγές {#variations2} + +Δύο παραλλαγές διεπαφής χρήστη εμφανίζονται εδώ. Ένα χωρίς περιθώρια, δημιουργώντας ένα πολύ ανοιχτό σχέδιο και ένα όπου η γραμμή εισόδου έχει ένα περίγραμμα, δημιουργώντας μια εστίαση σε αυτό το στοιχείο. + +![Two UI variations of the main form](./3.png) + +Αυτή η βασική δομή επιτρέπει **τέσσερα βασικά κομμάτια πληροφοριών** να εμφανίζονται στο σχέδιο: ένα σε κάθε γωνία. Εάν υπάρχει μόνο μία πάνω/κάτω σειρά, τότε υπάρχουν μόνο δύο σημεία. + +Κατά τη διάρκεια της εξέλιξης του DeFi, πολλά διαφορετικά πράγματα έχουν συμπεριληφθεί εδώ. + +## Βασικές πληροφορίες για να συμπεριλαβετε {#key-info-to-include} + +- Υπόλοιπο στο πορτοφόλι +- Μέγιστο κουμπί +- Αντιστοιχία σε Fiat +- Επίπτωση της τιμής στο "ληφθέν" ποσό + +Στις πρώτες μέρες του DeFi, το αντίστοιχο fiat έλειπε συχνά. Εάν κατασκευάζετε οποιοδήποτε είδος έργου Web3, είναι απαραίτητο να εμφανίζεται ένα ισοδύναμο fiat. Οι χρήστες εξακολουθούν να σκέφτονται με όρους τοπικών νομισμάτων, επομένως για να ταιριάζουν με τα νοητικά μοντέλα του πραγματικού κόσμου, θα πρέπει να συμπεριληφθεί και αυτό. + +Στο δεύτερο πεδίο (αυτό στο οποίο επιλέγετε το ψηφιακό στοιχείο στο οποίο ανταλλάσσετε) μπορείτε επίσης να συμπεριλάβετε τον αντίκτυπο της τιμής δίπλα στο ποσό του νομίσματος fiat, υπολογίζοντας τη διαφορά μεταξύ του ποσού εισόδου και των εκτιμώμενων ποσών παραγωγής. Αυτή είναι μια πολύ χρήσιμη λεπτομέρεια που πρέπει να συμπεριληφθεί. + +Τα κουμπιά ποσοστού (π.χ. 25%, 50%, 75%) μπορεί να είναι μια χρήσιμη λειτουργία, αλλά καταλαμβάνουν περισσότερο χώρο, προσθέτουν περισσότερη παρότρυνση για ενέργειες και προσθέτουν περισσότερο ψυχικό φορτίο. Το ίδιο με τα ρυθμιστικά ποσοστού. Ορισμένες από αυτές τις αποφάσεις διεπαφής χρήστη θα εξαρτηθούν από την επωνυμία σας και τον τύπο χρήστη σας. + +Επιπλέον λεπτομέρειες μπορούν να εμφανίζονται κάτω από την κύρια φόρμα. Καθώς αυτός ο τύπος πληροφοριών είναι κυρίως για επαγγελματίες χρήστες, είναι λογικό να: + +- Το κρατήσετε όσο το δυνατόν ελάχιστο, ή +- Να το κρύψετε σε ένα αναδιπλούμενο πάνελ. + +![Details shown in the corners of that main form](./4.png) + +## Επιπλέον πληροφορίες για να συμπεριλαβετε {#extra-info-to-include} + +- Τιμή κρυπτονομίσματος +- Ολίσθηση +- Ελάχιστη λήψη +- Αναμενόμενο αποτέλεσμα +- Επίπτωση στην τιμή +- Εκτίμηση κόστους gas +- Άλλες κρατήσεις +- Κύκλος εντολών + +Αναμφισβήτητα, ορισμένες από αυτές τις λεπτομέρειες θα μπορούσαν να είναι προαιρετικές. + +Η δρομολόγηση εντολών είναι ενδιαφέρουσα, αλλά δεν κάνει μεγάλη διαφορά για τους περισσότερους χρήστες. + +Μερικές άλλες λεπτομέρειες απλώς επαναλαμβάνουν το ίδιο πράγμα με διαφορετικούς τρόπους. Για παράδειγμα, το "ελάχιστο που ελήφθη" και η "ολίσθηση" είναι δύο όψεις του ίδιου νομίσματος. Εάν έχετε ορίσει την ολίσθηση στο 1%, τότε το ελάχιστο που μπορείτε να περιμένετε να λάβετε = αναμενόμενη έξοδος-1%. Ορισμένα περιβάλλοντα χρήστη θα εμφανίζουν το αναμενόμενο ποσό, το ελάχιστο ποσό και την ολίσθηση… Πράγμα που είναι χρήσιμο, αλλά πιθανώς υπερβολικό. + +Οι περισσότεροι χρήστες θα αφήσουν την προεπιλεγμένη ολίσθηση ούτως ή άλλως. + +Το "αντίκτυπο τιμής" εμφανίζεται συχνά σε αγκύλες δίπλα στο ισοδύναμο fiat στο πεδίο "προς". Αυτή είναι μια εξαιρετική λεπτομέρεια εμπειρίας χρήστη που πρέπει να προστεθεί, αλλά αν εμφανίζεται εδώ, χρειάζεται πραγματικά να εμφανιστεί ξανά παρακάτω; Και στη συνέχεια επιστροφή στην προηγούμενη οθόνη; + +Πολλοί χρήστες (ειδικά αυτοί που ανταλλάσσουν μικρά ποσά) δε θα ενδιαφέρονται για αυτές τις λεπτομέρειες. Θα εισάγουν απλώς έναν αριθμό και θα πατήσουν ανταλλαγή. + +![Some details show the same thing](./5.png) + +Οι ακριβείς λεπτομέρειες που εμφανίζονται θα εξαρτηθούν από το κοινό σας και την αίσθηση που θέλετε να έχει η εφαρμογή. + +Εάν συμπεριλάβετε την ανοχή ολίσθησης στον πίνακα λεπτομερειών, θα πρέπει επίσης να την κάνετε επεξεργάσιμη απευθείας από εδώ. Αυτό είναι ένα καλό παράδειγμα ενός "επιταχυντή". Ένα έξυπνο κόλπο UX που μπορεί να επιταχύνει τις ροές των έμπειρων χρηστών, χωρίς να επηρεάζει τη γενική χρηστικότητα της εφαρμογής. + +![Slippage can be controlled from the details panel](./6.png) + +Είναι καλή ιδέα να σκεφτείτε προσεκτικά όχι μόνο μία συγκεκριμένη πληροφορία σε μία οθόνη, αλλά ολόκληρη τη ροή: Εισαγωγή αριθμών στην Κύρια Φόρμα → Σάρωση Λεπτομερειών → Κλικ στην Οθόνη Προεπισκόπησης (εάν έχετε οθόνη προεπισκόπησης). +Θα πρέπει ο πίνακας λεπτομερειών να είναι ορατός ανά πάσα στιγμή ή ο χρήστης πρέπει να κάνει κλικ για να τον επεκτείνει; +Θα πρέπει να δημιουργήσετε τριβή προσθέτοντας μια οθόνη προεπισκόπησης; Αυτό αναγκάζει τον χρήστη να επιβραδύνει και να εξετάσει τη συναλλαγή του, κάτι που μπορεί να είναι χρήσιμο. Αλλά θέλουν να δουν ξανά όλες τις ίδιες πληροφορίες; Τι είναι πιο χρήσιμο σε αυτούς σε αυτό το σημείο; + +## Επιλογές σχεδιασμού {#design-options} + +Όπως αναφέρθηκε, πολλά από αυτά καταλήγουν στο προσωπικό σας στυλ. Ποια είναι η χρήση σας; +Ποιος είναι ο τύπος σας; +Θέλετε ένα "επαγγελματικό" περιβάλλον εργασίας που να εμφανίζει κάθε λεπτομέρεια, ή θέλετε να είστε μινιμαλιστής; +Ακόμα κι αν στοχεύετε στους επαγγελματίες χρήστες που θέλουν όλες τις δυνατές πληροφορίες, θα πρέπει να θυμάστε τα σοφά λόγια του Alan Cooper: + +> Όσο όμορφο κι αν είναι, όσο cool κι αν είναι το περιβάλλον εργασίας σας, θα ήταν καλύτερα αν ήταν λιγότερο. + +### Δομή {#structure} + +- Ψηφιακά στοιχεία στα αριστερά ή στα δεξιά. +- Σε 2 σειρές ή 3. +- Λεπτομέρειες πάνω ή κάτω από το κουμπί. +- Οι λεπτομέρειες επεκτάθηκαν, ελαχιστοποιήθηκαν ή δεν εμφανίζονται. + +### Στυλ περιεχομένου {#component-style} + +- Κενό. +- Εκτός ορίου. +- Ολοκληρωμένο. + +Από καθαρής άποψης UX, το στυλ UI είναι λιγότερο σημαντικό από όσο νομίζετε. Οι οπτικές τάσεις έρχονται και φεύγουν σε κύκλους και πολλές προτιμήσεις είναι υποκειμενικές. + +Ο ευκολότερος τρόπος για να πάρετε μια αίσθηση για αυτό και να σκεφτείτε τις διαφορετικές διαμορφώσεις, είναι να ρίξετε μια ματιά σε μερικά παραδείγματα και στη συνέχεια να πειραματιστείτε από μόνοι σας. + +Το κιτ Figma που περιλαμβάνεται περιέχει κενά, περιγραμμένα και γεμάτα εξαρτήματα. + +Δείτε τα παρακάτω παραδείγματα για διαφορετικούς τρόπους με τους οποίους μπορείτε να τα συνδυάσετε όλα μαζί: + +![3 rows in a filled style](./7.png) + +![3 rows in a outlined style](./8.png) + +![2 rows in an empty style](./9.png) + +![3 rows in an outlined style, with a details panel](./10.png) + +![3 rows with the input row in an outlined style](./11.png) + +![2 rows in a filled style](./12.png) + +## Αλλά σε ποια πλευρά πρέπει να προχωρήσει το ψηφιακό στοιχείο; {#but-which-side-should-the-token-go-on} + +Η ουσία είναι ότι πιθανότατα δεν κάνει τεράστια διαφορά στη χρηστικότητα. Υπάρχουν μερικά πράγματα που πρέπει να έχετε κατά νου, ωστόσο, που μπορεί να σας επηρεάσουν προς τη μία ή την άλλη κατεύθυνση. + +Ήταν ενδιαφέρον να βλέπουμε την αλλαγή της μόδας με την πάροδο του χρόνου. Η Uniswap αρχικά είχε το token στα αριστερά, αλλά από τότε το έχει μετακινήσει στα δεξιά. Η Sushiswap έκανε επίσης αυτή την αλλαγή κατά τη διάρκεια μιας αναβάθμισης σχεδιασμού. Τα περισσότερα, αλλά όχι όλα, πρωτόκολλα έχουν ακολουθήσει το παράδειγμα. + +Η οικονομική σύμβαση παραδοσιακά τοποθετεί το σύμβολο του νομίσματος πριν από τον αριθμό, π.χ. $50, €50, £50, αλλά λέμε 50 δολάρια, 50 ευρώ, 50 λίρες. + +Για τον γενικό χρήστη, ειδικά κάποιον που διαβάζει από αριστερά προς τα δεξιά, από πάνω προς τα κάτω, το token στα δεξιά πιθανώς να φαίνεται πιο φυσικό. + +![Ένα UI με tokens στα αριστερά](./13.png) + +Η τοποθέτηση του token στα αριστερά και όλων των αριθμών στα δεξιά φαίνεται ευχάριστα συμμετρική, κάτι που είναι ένα πλεονέκτημα, αλλά υπάρχει και ένα άλλο μειονέκτημα σε αυτή τη διάταξη. + +Ο νόμος της εγγύτητας δηλώνει ότι τα στοιχεία που είναι κοντά μεταξύ τους αντιλαμβάνονται ως σχετικά. Κατά συνέπεια, θέλουμε να τοποθετήσουμε τα σχετικά στοιχεία το ένα δίπλα στο άλλο. Το υπόλοιπο του token σχετίζεται άμεσα με το ίδιο το token και θα αλλάζει κάθε φορά που επιλέγεται ένα νέο token. Επομένως, είναι ελαφρώς πιο λογικό το υπόλοιπο του token να βρίσκεται δίπλα στο κουμπί επιλογής token. Θα μπορούσε να μετακινηθεί κάτω από το token, αλλά αυτό σπάει τη συμμετρία της διάταξης. + +Τελικά, υπάρχουν πλεονεκτήματα και μειονεκτήματα και για τις δύο επιλογές, αλλά είναι ενδιαφέρον πώς η τάση φαίνεται να είναι προς το token στα δεξιά. + +# Συμπεριφορά κουμπιών {#button-behavior} + +Μην έχετε ξεχωριστό κουμπί για το Approve. Επίσης, μην έχετε ξεχωριστό κλικ για το Approve. Ο χρήστης θέλει να κάνει Swap, οπότε απλώς πείτε "swap" στο κουμπί και ξεκινήστε την έγκριση ως το πρώτο βήμα. Ένα modal μπορεί να δείξει την πρόοδο με ένα stepper, ή μια απλή ειδοποίηση "tx 1 από 2 - έγκριση". + +![A UI with separate buttons for approve and swap](./14.png) + +![Ένα UI με ένα κουμπί που λέει έγκριση](./15.png) + +## Κουμπί ως συμφραζόμενη βοήθεια {#button-as-contextual-help} + +Το κουμπί μπορεί να κάνει διπλή λειτουργία ως ειδοποίηση! + +Αυτό είναι στην πραγματικότητα ένα αρκετά ασυνήθιστο μοτίβο σχεδιασμού εκτός του Web3, αλλά έχει γίνει στάνταρ μέσα σε αυτό. Αυτή είναι μια καλή καινοτομία καθώς εξοικονομεί χώρο και διατηρεί την προσοχή εστιασμένη. + +Εάν η κύρια ενέργεια - SWAP - δεν είναι διαθέσιμη λόγω σφάλματος, ο λόγος μπορεί να εξηγηθεί με το κουμπί, π.χ.: + +- Εναλλαγή δικτύου +- Σύνδεση πορτοφολιού +- Γενικά σφάλματα + +Το κουμπί μπορεί επίσης να αντιστοιχιστεί στην ενέργεια που πρέπει να εκτελεστεί. Για παράδειγμα, εάν ο χρήστης δεν μπορεί να κάνει swap επειδή βρίσκεται στο λάθος δίκτυο, το κουμπί θα πρέπει να λέει "switch to Ethereum" και όταν ο χρήστης κάνει κλικ στο κουμπί, θα πρέπει να αλλάξει το δίκτυο σε Ethereum. Αυτό επιταχύνει σημαντικά τη ροή του χρήστη. + +![Βασικές ενέργειες που ξεκινούν από το κύριο CTA](./16.png) + +![Μήνυμα σφάλματος που εμφανίζεται στο κύριο CTA](./17.png) + +## Δημιουργήστε το δικό σας με αυτό το αρχείο figma {#build-your-own-with-this-figma-file} + +Χάρη στη σκληρή δουλειά πολλών πρωτοκόλλων, ο σχεδιασμός DEX έχει βελτιωθεί πολύ. Γνωρίζουμε ποιες πληροφορίες χρειάζεται ο χρήστης, πώς πρέπει να τις εμφανίζουμε και πώς να κάνουμε τη ροή όσο το δυνατόν πιο ομαλή. +Ας ελπίσουμε ότι αυτό το άρθρο παρέχει μια σταθερή επισκόπηση των αρχών UX. + +Εάν θέλετε να πειραματιστείτε, μη διστάσετε να χρησιμοποιήσετε το κιτ wireframe Figma. Διατηρείται όσο το δυνατόν πιο απλό, αλλά έχει αρκετή ευελιξία για να δημιουργήσει τη βασική δομή με διάφορους τρόπους. + +[Figma wireframe kit](https://www.figma.com/community/file/1393606680816807382/dex-wireframes-kit) + +Το DeFi θα συνεχίσει να εξελίσσεται και υπάρχει πάντα περιθώριο βελτίωσης. + +Καλή επιτυχία! diff --git a/public/content/translations/el/developers/docs/design-and-ux/heuristics-for-web3/index.md b/public/content/translations/el/developers/docs/design-and-ux/heuristics-for-web3/index.md new file mode 100644 index 00000000000..aab5a8628b3 --- /dev/null +++ b/public/content/translations/el/developers/docs/design-and-ux/heuristics-for-web3/index.md @@ -0,0 +1,138 @@ +--- +title: Επτά βασικοί κανόνες σχεδιασμού διεπαφής Web3 +description: Αρχές για τη βελτίωση χρηστικότητας του Web3. +lang: el +--- + +Οι κανόνες χρηστικότητας είναι γενικοί "κανόνες του αντίχειρα" που μπορείτε να χρησιμοποιήσετε για να μετρήσετε τη χρηστικότητα του ιστότοπού σας. +Οι 7 βασικοί κανόνες εδώ, είναι ειδικά προσαρμοσμένοι για το Web3 και θα πρέπει να χρησιμοποιούνται παράλληλα με τις 10 γενικές αρχές του Jakob Nielsen για τον [σχεδιασμό αλληλεπίδρασης](https://www.nngroup.com/articles/ten-usability-heuristics/). + +## Επτά βασικοί κανόνες ευχρηστίας για το web3 {#seven-usability-heuristics-for-web3} + +1. Τα σχόλια ακολουθούν τη δράση. +2. Ασφάλεια και εμπιστοσύνη. +3. Οι πιο σημαντικές πληροφορίες είναι προφανείς. +4. Κατανοητή ορολογία. +5. Οι ενέργειες είναι όσο το δυνατόν πιο σύντομες. +6. Οι συνδέσεις δικτύου είναι ορατές και ευέλικτες. +7. Έλεγχος από την εφαρμογή, όχι από το πορτοφόλι. + +## Ορισμοί και παραδείγματα {#definitions-and-examples} + +### 1. Τα σχόλια ακολουθούν την δράση {#feedback-follows-action} + +**Θα πρέπει να είναι προφανές όταν κάτι έχει συμβεί ή συμβαίνει.** + +Οι χρήστες αποφασίζουν για τα επόμενα βήματά τους με βάση το αποτέλεσμα των προηγούμενων βημάτων τους. Επομένως, είναι σημαντικό να παραμένουν ενημερωμένοι για την κατάσταση του συστήματος. Αυτό είναι ιδιαίτερα σημαντικό στο Web3, καθώς οι συναλλαγές μπορεί μερικές φορές να χρειαστούν λίγο χρόνο για να δεσμευτούν στην κρυπτοαλυσίδα. Εάν δεν υπάρχουν σχόλια που να τους ενημερώνουν να περιμένουν, οι χρήστες δεν είναι σίγουροι αν έχει συμβεί κάτι. + +**Συμβουλές:** + +- Ενημερώστε τον χρήστη μέσω μηνυμάτων και άλλων ειδοποιήσεων. +- Επικοινωνήστε σαφώς τους χρόνους αναμονής. +- Εάν μια ενέργεια πρόκειται να διαρκέσει περισσότερο από μερικά δευτερόλεπτα, καθησυχάστε τον χρήστη με ένα χρονόμετρο ή μια κινούμενη εικόνα για να νιώσει ότι κάτι συμβαίνει. +- Εάν υπάρχουν πολλά βήματα σε μια διαδικασία, δείξτε το κάθε βήμα. + +**Για παράδειγμα:** +Η εμφάνιση κάθε βήματος που εμπλέκεται σε μια συναλλαγή βοηθά τους χρήστες να γνωρίζουν πού βρίσκονται στη διαδικασία. Τα κατάλληλα εικονίδια ενημερώνουν τον χρήστη για την κατάσταση των ενεργειών του. + +![Informing the user about each step when swapping tokens](./Image1.png) + +### 2. Η ασφάλεια και η εμπιστοσύνη καλύπτονται στο {#security-and-trust-are-backed-in} + +Θα πρέπει να δοθεί προτεραιότητα στην ασφάλεια και αυτό θα πρέπει να τονιστεί για τον χρήστη. +Οι άνθρωποι ενδιαφέρονται πολύ για τα δεδομένα τους. Η ασφάλεια είναι συχνά πρωταρχική ανησυχία για τους χρήστες, επομένως θα πρέπει να λαμβάνεται υπόψη σε όλα τα επίπεδα του σχεδιασμού. Θα πρέπει πάντα να επιδιώκετε να κερδίσετε την εμπιστοσύνη των χρηστών σας, αλλά ο τρόπος που το κάνετε αυτό μπορεί να σημαίνει διαφορετικά πράγματα σε διαφορετικές εφαρμογές. Δεν θα πρέπει να είναι μια δευτερεούσα σκέψη, αλλά θα πρέπει να σχεδιάζεται συνειδητά καθ' όλη τη διάρκεια. Δημιουργήστε εμπιστοσύνη σε όλη την εμπειρία του χρήστη, συμπεριλαμβανομένων των κοινωνικών καναλιών και της τεκμηρίωσης, καθώς και του τελικού UI. Πράγματα όπως το επίπεδο αποκέντρωσης, η κατάσταση πολλαπλών υπογραφών του θησαυρού και το αν η ομάδα είναι doxxed, επηρεάζουν την εμπιστοσύνη των χρηστών. + +**Συμβουλές:** + +- Καταγράψτε τους ελέγχους σας με υπερηφάνεια. +- Λάβετε πολλαπλούς ελέγχους. +- Διαφημίστε τυχόν χαρακτηριστικά ασφαλείας που έχετε σχεδιάσει. +- Επισημάνετε τους πιθανούς κινδύνους, συμπεριλαμβανομένων των υποκείμενων ενσωματώσεων. +- Ενημερώστε για την πολυπλοκότητα των στρατηγικών. +- Λάβετε υπόψη ζητήματα που δεν αφορούν τη διεπαφή χρήστη που μπορεί να επηρεάσουν την αντίληψη των χρηστών σας για την ασφάλεια. + +**Παράδειγμα:** +Συμπεριλάβετε τους ελέγχους σας στο υποσέλιδο, σε εμφανές μέγεθος. + +![Audits refernced in the website footer](./Image2.png) + +### 3. Οι πιο σημαντικές πληροφορίες είναι προφανείς {#the-most-important-info-is-obvious} + +Για πολύπλοκα συστήματα, παρουσιάστε μόνο τα πιο σχετικά δεδομένα. Προσδιορίστε τι είναι πιο σημαντικό και δώστε προτεραιότητα στην εμφάνισή του. +Οι πάρα πολλές πληροφορίες λειτουργούν αρνητικά και οι χρήστες συνήθως "σκαλώνουν" σε μία πληροφορία όταν λαμβάνουν αποφάσεις. Στο DeFi, αυτό θα είναι πιθανώς το APR για τις εφαρμογές απόδοσης και το LTV για τις εφαρμογές δανεισμού. + +**Συμβουλές:** + +- Η έρευνα χρηστών θα αποκαλύψει την πιο σημαντική μετρική +- Κάντε τις βασικές πληροφορίες μεγάλες και τις άλλες λεπτομέρειες μικρές και διακριτικές +- Οι χρήστες δε διαβάζουν αλλά σαρώνουν; Βεβαιωθείτε ότι ο σχεδιασμός σας είναι συμβατός. + +**Παράδειγμα:** Τα μεγάλα ψηφιακά στοιχεία σε πλήρες χρώμα είναι εύκολο να βρεθούν κατά τη σάρωση. To APR είναι μεγάλο και επισημαίνεται με σχετικό χρωματισμό. + +![The token and APR are easy to find](./Image3.png) + +### 4. Καθαρή ορολογία {#clear-terminology} + +Η ορολογία πρέπει να είναι κατανοητή και κατάλληλη. +Η τεχνική ορολογία μπορεί να είναι τεράστια πρόκληση, γιατί απαιτεί την κατασκευή ενός εντελώς νέου νοητικού μοντέλου. Οι χρήστες δεν μπορούν να συσχετίσουν το σχέδιο με λέξεις, φράσεις και έννοιες που ήδη γνωρίζουν. Όλα φαίνονται μπερδεμένα και άγνωστα και υπάρχει μια απότομη καμπύλη μάθησης πριν καν επιχειρήσουν να το χρησιμοποιήσουν. Ένας χρήστης μπορεί να προσεγγίσει το DeFi θέλοντας να εξοικονομήσει χρήματα και αυτό που βρίσκει είναι: εξόρυξη, γεωργία, ποντάρισμα, εκπομπές ρύπων, δωροδοκίες, θησαυροφυλάκια, θυρίδες, veTokens, κατοχύρωση, εποχές, αποκεντρωμένοι αλγόριθμοι, ρευστότητα ιδιοκτησίας πρωτοκόλλου… +Προσπαθήστε να χρησιμοποιήσετε απλούς όρους που θα είναι κατανοητοί από την ευρύτερη ομάδα ανθρώπων. Μην εφευρίσκετε νέους όρους μόνο για το έργο σας. + +**Συμβουλές:** + +- Χρησιμοποιήστε απλή και συνεπή ορολογία +- Χρησιμοποιήστε την υπάρχουσα γλώσσα όσο το δυνατόν περισσότερο +- Μη δημιουργείτε τους δικούς σας όρους +- Ακολουθήστε τις συμβάσεις όπως εμφανίζονται. +- Εκπαιδεύστε τους χρήστες όσο το δυνατόν περισσότερο + +**Παράδειγμα:** +"Οι ανταμοιβές σας" είναι ένας ευρέως κατανοητός, ουδέτερος, όρος, δεν είναι μια νέα λέξη που φτιάχτηκε για αυτό το έργο. Οι ανταμοιβές εκφράζονται σε Δολάριο ΗΠΑ για να ταιριάζουν με τα ψυχικά μοντέλα του πραγματικού κόσμου, ακόμα και αν οι ίδιες οι ανταμοιβές είναι σε άλλο κρυπτονόμισμα. + +![Token rewards, displayed in U.S. δολάρια](./Image4.png) + +### 5. Οι ενέργειες είναι όσο το δυνατόν πιο σύντομες {#actions-are-as-short-as-possible} + +Επιταχύνετε τις αλληλεπιδράσεις του χρήστη ομαδοποιώντας υποενέργειες. +Αυτό μπορεί να γίνει σε επίπεδο έξυπνου συμβολαίου, καθώς και στο UI. Ο χρήστης δεν πρέπει να μετακινηθεί από το ένα μέρος του συστήματος στο άλλο – ή να εγκαταλείψει εντελώς το σύστημα – για να ολοκληρώσει μια κοινή ενέργεια. + +**Συμβουλές:** + +- Συνδυάστε το "Έγκριση" με άλλες ενέργειες όπου είναι δυνατόν +- Συγκεντρώστε τα βήματα για την υπογραφή συναλλαγής όσο πιο κοντά γίνεται. + +**Παράδειγμα:** Ο συνδυασμός "προσθήκη ρευστότητας" και "δέσμευση κεφαλαίου" είναι ένα απλό παράδειγμα επιταχυντή που εξοικονομεί χρόνο και gas σε έναν χρήστη. + +![Modal showing a switch to combine the deposit and stake actions](./Image5.png) + +### 6. Οι συνδέσεις δικτύου είναι ορατές και ευέλικτες {#network-connections-are-visible-and-flexible} + +Ενημερώστε τον χρήστη σχετικά με το δίκτυο στο οποίο είναι συνδεδεμένοι και παρέχετε σαφείς συντομεύσεις για αλλαγή δικτύου. +Ιδιαίτερα σημαντικό για εφαρμογές πολλαπλών αλυσίδων. Οι κύριες λειτουργίες της εφαρμογής θα πρέπει να εξακολουθούν να είναι ορατές όταν είναι αποσυνδεδεμένη ή συνδεδεμένη σε δίκτυο που δεν υποστηρίζεται. + +**Συμβουλές:** + +- Εμφάνιση όσο το δυνατόν μεγαλύτερου μέρους της εφαρμογής ενώ αποσυνδεδεμένος +- Δείξτε σε ποιο δίκτυο είναι συνδεδεμένος ο χρήστης αυτήν τη στιγμή +- Μην αναγκάζετε τον χρήστη να πάει στο πορτοφόλι του για να αλλάξει δίκτυο +- Εάν η εφαρμογή απαιτεί από τον χρήστη να αλλάξει δίκτυο, ζητήστε την ενέργεια από την κύρια διεπαφή για εφαρμογή. +- Εάν η εφαρμογή περιέχει αγορές ή θησαυροφυλάκια για πολλά δίκτυα, δηλώστε με σαφήνεια ποιο σετ χρησιμοποιεί ο χρήστης αυτήν τη στιγμή. + +**Παράδειγμα:** Δείξτε στον χρήστη σε ποιο δίκτυο είναι συνδεδεμένος και επιτρέψτε του να το αλλάξει στη γραμμή εφαρμογών. + +![Dropdown button showing the connected network](./Image6.png) + +### 7. Έλεγχος από την εφαρμογή και όχι από το πορτοφόλι {#control-from-the-app-not-the-wallet} + +Η διεπαφή χρήστη θα πρέπει να λέει στον χρήστη όλα όσα χρειάζεται να γνωρίζει και να του δίνει τον έλεγχο σε ό,τι χρειάζεται να κάνει. +Στο Web3, υπάρχουν ενέργειες που πραγματοποιείτε στη διεπαφή χρήστη και ενέργειες που πραγματοποιείτε στο πορτοφόλι. Γενικά, εκκινείτε μια ενέργεια στη διεπαφή χρήστη και στη συνέχεια, την επιβεβαιώνετε στο πορτοφόλι. Οι χρήστες μπορεί να αισθάνονται άβολα εάν αυτά τα δύο σκέλη δεν ενσωματωθούν προσεκτικά. + +**Συμβουλές:** + +- Κατάσταση επικοινωνίας συστήματος μέσω σχολίων στο UI +- Κρατήστε αρχείο του ιστορικού τους +- Παρέχετε συνδέσμους εξερευνητών πλοκ για παλιές συναλλαγές +- Παρέχετε συντομεύσεις για αλλαγή δικτύων. + +**Παράδειγμα:** Ένα ξεχωριστό κοντέινερ δείχνει στον χρήστη ποια σχετικά κρύπτο έχει στο πορτοφόλι του και το κύριο CTA παρέχει μια συντόμευση για την αλλαγή του δικτύου. + +![Main CTA is prompting the user to switch network](./Image7.png) diff --git a/public/content/translations/el/developers/docs/design-and-ux/index.md b/public/content/translations/el/developers/docs/design-and-ux/index.md new file mode 100644 index 00000000000..99648697a4e --- /dev/null +++ b/public/content/translations/el/developers/docs/design-and-ux/index.md @@ -0,0 +1,231 @@ +--- +title: Σχεδιασμός και UX στο web3 +description: Εισαγωγή του σχεδιασμού και έρευνας UX στον χώρο του web3 και Ethereum +lang: el +--- + +Είστε νέοι στον σχεδιασμό με το Ethereum; Αυτό είναι το κατάλληλο μέρος για εσάς. Η κοινότητα του Ethereum έχει γραπτούς πόρους για την εισαγωγή σας στα βασικά στοιχεία σχεδιασμού και έρευνας web3. Θα μάθετε τις βασικές έννοιες που μπορεί να διαφέρουν από άλλους σχεδιασμούς εφαρμογών που γνωρίζετε. + +Χρειάζεστε πρώτα μια πιο βασική κατανόηση του web3; Ρίξτε μια ματιά στο [**Κέντρο Μάθησης**](/learn/). + +## Ξεκινήστε με την έρευνα χρηστών {#start-with-user-research} + +Ο αποτελεσματικός σχεδιασμός υπερβαίνει τη δημιουργία των οπτικά ελκυστικών διεπαφών χρήστη. Περιλαμβάνει την απόκτηση βαθιάς κατανόησης των αναγκών, των στόχων και των κινητήριων παραγόντων του χρήστη. Επομένως, συνιστούμε ανεπιφύλακτα σε όλους τους σχεδιαστές να υιοθετήσουν μια διαδικασία σχεδιασμού, όπως το [**double diamond process**](https://en.wikipedia.org/wiki/Double_Diamond_(design_process_model)), για να διασφαλίσουν ότι η εργασία τους είναι σκόπιμη και εσκεμμένη. + +- [Το Web3 χρειάζεται περισσότερους ερευνητές και σχεδιαστές UX](https://blog.akasha.org/akasha-conversations-9-web3-needs-more-ux-researchers-and-designers) - Μια επισκόπηση της τρέχουσας ωριμότητας σχεδιασμού +- [Ένας απλός οδηγός για την έρευνα UX στο web3](https://uxplanet.org/a-complete-guide-to-ux-research-for-web-3-0-products-d6bead20ebb1) - Απλός οδηγός για το πώς να κάνετε έρευνα +- [Πώς να προσεγγίσετε αποφάσεις UX στο Web3](https://archive.devcon.org/archive/watch/6/data-empathy-how-to-approach-ux-decisions-in-web3/) - Μια σύντομη επισκόπηση της ποσοτικής και ποιοτικής έρευνας και οι διαφορές μεταξύ των δύο (βίντεο, 6 λεπτά) +- [Ερευνητής UX στο Web3](https://medium.com/@georgia.rakusen/what-its-like-being-a-user-researcher-in-web3-6a4bcc096849) - Μια προσωπική άποψη για το πώς είναι να είσαι ερευνητής UX στο web3 + +## Ερευνητικές μελέτες στο web3 {#research-in-web3} + +Αυτή είναι μια επιμελημένη λίστα έρευνας χρηστών που έγινε στο web3 που μπορεί να βοηθήσει με αποφάσεις σχεδιασμού και προϊόντων ή να λειτουργήσει ως έμπνευση για τη διεξαγωγή δικής σας μελέτης. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Περιοχή εστίασης + + Όνομα +
+ Προετοιμασία Κρύπτο + + The Reown Pulse 2024: Καταναλωτικό Συναίσθημα Κρύπτο & Χρήση +
+ Προετοιμασία Κρύπτο + + CRADL: UX στα κρυπτονομίσματα +
+ Προετοιμασία Κρύπτο + + CRADL: Ενσωμάτωση σε κρυπτονομίσματα +
+ Προετοιμασία Κρύπτο + + Αναφορά Bitcoin UX +
+ Προετοιμασία Κρύπτο + + ConSensys: Η κατάσταση αντίληψης του Web3 σε όλο τον κόσμο 2023 +
+ Προετοιμασία Κρύπτο + + NEAR: Επιτάχυνση του ταξιδιού προς την υιοθέτηση +
+ Staking (αποθήκευση) + + OpenUX: Rocket Pool Node Operator UX +
+ Staking (αποθήκευση) + + Αποθήκευση: Βασικές τάσεις, εκδόσεις και προβλέψεις - Eth Staker +
+ Staking (αποθήκευση) + + Δέσμευση κεφαλαίου σε πολλαπλές εφαρμογές +
+ DAO + + Έρευνα DAO 2022: Τι χρειάζονται οι δημιουργοί DAO; +
+ DeFi + + Coverage pools +
+ DeFi + + ConSensys: Αναφορά Έρευνας Χρηστών DeFi 2022 +
+ Metaverse + + Metaverse: Αναφορά έρευνας χρήστη +
+ Metaverse + + Συνεχίζοντας το Safari: Έρευνα χρηστών στο Metaverse (βίντεο, 27 λεπτά) +
+ Στατιστικά UX του Ethereum.org + + Πίνακας ελέγχου έρευνας ευχρηστίας και ικανοποίησης χρηστών - Ethereum.org +
+ +## Σχεδίαση για web3 {#design-for-web3} + +- [Web3 UX Design Handbook](https://web3ux.design/) - Πρακτικός οδηγός για το σχεδιασμό εφαρμογών Web3 +- [Web3 Design Principles](https://medium.com/@lyricalpolymath/web3-design-principles-f21db2f240c1) - Ένα πλαίσιο κανόνων UX για dapp που βασίζονται σε blockchain +- [Blockchain Design Principles](https://medium.com/design-ibm/blockchain-design-principles-599c5c067b6e) - Διδάγματα από την ομάδα σχεδιασμού blockchain της IBM +- [Neueux.com](https://neueux.com/apps) - Βιβλιοθήκη UI ροών χρηστών με διάφορες επιλογές φιλτραρίσματος +- [Web3's Usability Crisis: What You NEED to Know!](https://www.youtube.com/watch?v=oBSXT_6YDzg) - Συζήτηση σε πάνελ σχετικά με τις παγίδες της δημιουργίας έργων με επίκεντρο τους προγραμματιστές (βίντεο, 34 λεπτά) + +## Ξεκινώντας {#getting-started} + +- [Κατευθυντήριες αρχές για το Web3](/developers/docs/design-and-ux/heuristics-for-web3/) - 7 Κατευθυντήριες αρχές για τον σχεδιασμό διεπαφών Web3 +- [Βέλτιστες πρακτικές σχεδιασμού DEX](/developers/docs/design-and-ux/dex-design-best-practice/) - Ένας οδηγός για τον σχεδιασμό Αποκεντρωμένων Ανταλλαγών + +## Μελέτες περιπτώσεων σχεδιασμού Web3 {#design-case-studies} + +- [Deep Work Studio](https://deepwork.studio/case-studies/) +- [Πώληση NFT στο OpenSea](https://builtformars.com/case-studies/opensea) +- [Πορτοφόλι UX καταρρίπτει πώς πρέπει να αλλάξουν τα πορτοφόλια](https://www.youtube.com/watch?v=oTpuxYj8JWI&ab_channel=ETHDenver) (βίντεο, 20 λεπτά) + +## Σχεδιασμός Ερευνών {#bounties} + +- [Dework](https://app.dework.xyz/bounties) +- [Buildbox hackathons](https://app.buidlbox.io/) +- [ETHGlobal hackathons](https://ethglobal.com/) + +## DAO και κοινότητες σχεδιασμού {#design-daos-and-communities} + +Συμμετέχετε σε επαγγελματικούς οργανισμούς με γνώμονα την κοινότητα ή εγγραφείτε σε ομάδες σχεδιασμού για να συζητήσετε θέματα και τάσεις σχετικά με τον σχεδιασμό και την έρευνα με άλλα μέλη. + +- [Vectordao.com](https://vectordao.com/) +- [Deepwork.studio](https://www.deepwork.studio/) +- [We3.co](https://we3.co/) +- [Openux.xyz](https://openux.xyz/) +- [Web3Design ανοιχτού κώδικα](https://www.web3designers.org/) + +## Συστήματα σχεδίασης και άλλοι πόροι σχεδιασμού {#design-systems-and-resources} + +- [Σχεδιασμός Optimism](https://www.figma.com/@optimism) (Figma) +- [Σύστημα σχεδιασμού Ethereum.org](https://www.figma.com/@ethdotorg) (Figma) +- [Finity, ένα σύστημα σχεδιασμού από το Polygon](https://www.figma.com/community/file/1073921725197233598/finity-design-system) (Figma) +- [Σύστημα σχεδιασμού Kleros](https://www.figma.com/community/file/999852250110186964/kleros-design-system) (Figma) +- [Σύστημα σχεδιασμού Safe](https://www.figma.com/community/file/1337417127407098506/safe-design-system) (Figma) +- [Σύστημα σχεδιασμού ENS](https://thorin.ens.domains/) +- [Σύστημα σχεδίασης αντιγράφου](https://degen-xyz.vercel.app/) + +**Τα άρθρα και τα έργα που αναφέρονται σε αυτήν τη σελίδα δεν αποτελούν επίσημες εγκρίσεις** και παρέχονται μόνο για ενημερωτικούς σκοπούς. Προσθέτουμε συνδέσμους σε αυτήν τη σελίδα βάσει κριτηρίων της [πολιτικής δημοσίευσής](/contributing/design/adding-design-resources) μας. Εάν θέλετε να προσθέσουμε ένα έργο ή άρθρο, επεξεργαστείτε αυτήν τη σελίδα στο [GitHub](https://github.com/ethereum/ethereum-org-website/blob/dev/public/content/developers/docs/design-and-ux/index.md). diff --git a/public/content/translations/el/developers/docs/development-networks/index.md b/public/content/translations/el/developers/docs/development-networks/index.md index e8349ee860d..18621b855ab 100644 --- a/public/content/translations/el/developers/docs/development-networks/index.md +++ b/public/content/translations/el/developers/docs/development-networks/index.md @@ -47,10 +47,9 @@ _θα μπορούσατε_ [να εκτελέσετε έναν κόμβο](/dev ### Δημόσιες αλυσίδες δοκιμών Ethereum {#public-beacon-testchains} -Υπάρχουν επίσης δύο διατηρούμενες δημόσιες εφαρμογές δοκιμών του Ethereum: το Goerli και το Sepolia. Το προτεινόμενο δίκτυο δοκιμών με μακροπρόθεσμη υποστήριξη είναι το Goerli, στο οποίο ο καθένας έχει δυνατότητα να επικυρώσει. Το Sepolia είναι μια νεότερη, μικρότερη αλυσίδα που αναμένεται επίσης να διατηρηθεί για το άμεσο μέλλον, με ένα επιτρεπόμενο σύνολο επικυρωτών (που σημαίνει ότι δεν υπάρχει γενική πρόσβαση σε νέους επικυρωτές σε αυτό το δίκτυο δοκιμών). Η αλυσίδα Ropsten αναμένεται να καταργηθεί το 4ο τρίμηνο του 2022 και η αλυσίδα Rinkeby αναμένεται να καταργηθεί το 2ο-3ο τρίμηνο του 2023. +Υπάρχουν επίσης δύο διατηρούμενες δημόσιες εφαρμογές δοκιμών του Ethereum: το Sepolia και το Hoodi. Το προτεινόμενο δίκτυο δοκιμών με μακροπρόθεσμη υποστήριξη είναι το Hoodi, στο οποίο ο καθένας έχει δυνατότητα να επικυρώσει. Το Sepolia χρησιμοποιεί ένα σύνολο επικυρωτών με δικαιώματα, που σημαίνει ότι δεν υπάρχει γενική πρόσβαση σε νέους επικυρωτές σε αυτό το δίκτυο δοκιμών. -- [Πλατφόρμα εκκίνησης αποθήκευσης κεφαλαίου Goerli](https://goerli.launchpad.ethereum.org/) -- [Ανακοίνωση κατάργησης Ropsten, Rinkeby & Kiln](https://blog.ethereum.org/2022/06/21/testnet-deprecation) +- [Πλατφόρμα εκκίνησης αποθήκευσης κεφαλαίου Hoodi](https://hoodi.launchpad.ethereum.org/) ### Πακέτο Kurtosis Ethereum {#kurtosis} diff --git a/public/content/translations/el/developers/docs/mev/index.md b/public/content/translations/el/developers/docs/mev/index.md new file mode 100644 index 00000000000..599a6e04217 --- /dev/null +++ b/public/content/translations/el/developers/docs/mev/index.md @@ -0,0 +1,221 @@ +--- +title: Μέγιστη τιμή εξαγωγής (MEV) +description: Εισαγωγή για τη μέγιστη αξία εξαγωγής (MEV) +lang: el +--- + +Η μέγιστη εξαχθείσα αξία (MEV) αναφέρεται στη μέγιστη αξία που μπορεί να εξαχθεί από την παραγωγή μπλοκ πέραν της τυπικής ανταμοιβής μπλοκ και των τελών gas με τη συμπερίληψη, εξαίρεση και αλλαγή της σειράς των συναλλαγών σε ένα μπλοκ. + +## Μέγιστη εξαχθείσα αξία {#maximal-extractable-value} + +Η μέγιστη εξαχθείσα αξία εφαρμόστηκε αρχικά στο πλαίσιο της [απόδειξης εργασίας](/developers/docs/consensus-mechanisms/pow/) και αρχικά αναφερόταν ως «εξαχθείσα αξία από κρυπτορύχους». Αυτό συμβαίνει επειδή στην απόδειξη εργασίας, οι κρυπτορύχοι ελέγχουν τη συμπερίληψη, την εξαίρεση και τη σειρά των συναλλαγών. Ωστόσο, από τη μετάβαση στην απόδειξη συμμετοχής μέσω [Της Συγχώνευσης](/roadmap/merge), οι επικυρωτές είναι υπεύθυνοι για αυτούς τους ρόλους και η κρυπτόρυξη δεν αποτελεί πλέον μέρος του πρωτοκόλλου Ethereum. Οι μέθοδοι εξαγωγής αξίας εξακολουθούν να υπάρχουν, επομένως χρησιμοποιείται πλέον ο όρος «Μέγιστη εξαχθέα αξία». + +## Προαπαιτούμενα {#prerequisites} + +Βεβαιωθείτε ότι είστε εξοικειωμένοι με τις [συναλλαγές](/developers/docs/transactions/), τα [μπλοκ](/developers/docs/blocks/), την [απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos) και το [gas](/developers/docs/gas/). Η εξοικείωση με τις [dapps](/dapps/) και [DeFi](/defi/) είναι επίσης χρήσιμη. + +## Εξαγωγή MEV {#mev-extraction} + +Στη θεωρία, το MEV αποδίδεται εξ ολοκλήρου στους επικυρωτές επειδή είναι το μόνο μέρος που μπορεί να εγγυηθεί την εκτέλεση μιας κερδοφόρας ευκαιρίας MEV. Στην πράξη, ωστόσο, ένα μεγάλο μέρος της MEV εξάγεται από ανεξάρτητους συμμετέχοντες δικτύου που ονομάζονται «αναζητητές». Οι αναζητητές εκτελούν σύνθετους αλγόριθμους σε δεδομένα blockchain για να εντοπίσουν κερδοφόρες ευκαιρίες MEV και έχουν bots για να υποβάλλουν αυτόματα αυτές τις κερδοφόρες συναλλαγές στο δίκτυο. + +Οι επικυρωτές λαμβάνουν πάντως ένα μέρος του συνολικού ποσού MEV επειδή οι αναζητητές είναι πρόθυμοι να πληρώσουν υψηλές αμοιβές gas (οι οποίες πηγαίνουν στον επικυρωτή) σε αντάλλαγμα για υψηλότερη πιθανότητα συμπερίληψης των κερδοφόρων συναλλαγών τους σε ένα μπλοκ. Υποθέτοντας ότι οι αναζητητές είναι οικονομικά ορθολογικοί, η αμοιβή gas που είναι πρόθυμος να πληρώσει ένας αναζητητής θα είναι ένα ποσό έως και 100% του MEV του αναζητητή (επειδή εάν η αμοιβή αερίου ήταν υψηλότερη, ο αναζητητής θα έχανε χρήματα). + +Με αυτό, για ορισμένες ιδιαίτερα ανταγωνιστικές ευκαιρίες MEV, όπως το [arbitrage DEX](#mev-examples-dex-arbitrage), οι αναζητητές μπορεί να πρέπει να πληρώσουν το 90% ή και περισσότερο από το συνολικό έσοδο MEV τους σε αμοιβές gas στον επικυρωτή επειδή τόσοι πολλοί άνθρωποι θέλουν να εκτελέσουν το ίδιο κερδοφόρο εμπόριο arbitrage. Αυτό συμβαίνει επειδή ο μόνος τρόπος για να εγγυηθεί κανείς ότι η συναλλαγή arbitrage τους θα εκτελεστεί είναι εάν υποβάλει τη συναλλαγή με την υψηλότερη τιμή gas. + +### Gas golfing {#mev-extraction-gas-golfing} + +Αυτή η δυναμική έχει κάνει το να είσαι καλός στο "gas golfing" - τον προγραμματισμό συναλλαγών έτσι ώστε να χρησιμοποιούν την ελάχιστη ποσότητα gas, ένα ανταγωνιστικό πλεονέκτημα, επειδή επιτρέπει στους αναζητητές να ορίσουν μια υψηλότερη τιμή gas διατηρώντας σταθερές τις συνολικές αμοιβές αερίου (αφού οι αμοιβές gas = τιμή gas \* gas που χρησιμοποιείται). + +Μερικές γνωστές τεχνικές gas golfing περιλαμβάνουν: τη χρήση διευθύνσεων που ξεκινούν με μια μακρά σειρά μηδενικών (π.χ. [0x0000000000C521824EaFf97Eac7B73B084ef9306](https://etherscan.io/address/0x0000000000c521824eaff97eac7b73b084ef9306)) καθώς καταλαμβάνουν λιγότερο χώρο (και συνεπώς αέριο) για αποθήκευση και αφήνοντας μικρά υπόλοιπα token [ERC-20](/developers/docs/standards/tokens/erc-20/) σε συμβόλαια, καθώς κοστίζει περισσότερο gas να αρχικοποιηθεί μια θέση αποθήκευσης (η περίπτωση εάν η ισορροπία είναι 0) από το να ενημερωθεί μια θέση αποθήκευσης. Η εύρεση περισσότερων τεχνικών για τη μείωση της χρήσης gas είναι ένας ενεργός τομέας έρευνας μεταξύ των αναζητητών. + +### Γενικευμένοι frontrunners {#mev-extraction-generalized-frontrunners} + +Αντί να προγραμματίζουν πολύπλοκους αλγόριθμους για την ανίχνευση κερδοφόρων ευκαιριών MEV, ορισμένοι αναζητητές εκτελούν γενικευμένους frontrunners. Οι γενικευμένοι frontrunners είναι bots που παρακολουθούν το mempool για να εντοπίσουν κερδοφόρες συναλλαγές. Ο frontrunner θα αντιγράψει τον κώδικα της πιθανώς κερδοφόρας συναλλαγής, θα αντικαταστήσει τις διευθύνσεις με τη διεύθυνση του frontrunner και θα εκτελέσει τη συναλλαγή τοπικά για να επαληθεύσει διπλά ότι η τροποποιημένη συναλλαγή έχει ως αποτέλεσμα κέρδος για τη διεύθυνση του frontrunner. Εάν η συναλλαγή είναι πράγματι κερδοφόρα, ο frontrunner θα υποβάλει την τροποποιημένη συναλλαγή με την διεύθυνση που αντικατέστησε και υψηλότερη τιμή gas, "frontrunning" την αρχική συναλλαγή και αποκτώντας το MEV του αρχικού αναζητητή. + +### Flashbots {#mev-extraction-flashbots} + +Τα Flashbots είναι ένα ανεξάρτητο έργο που επεκτείνει τους πελάτες εκτέλεσης με μια υπηρεσία που επιτρέπει στους αναζητητές να υποβάλλουν συναλλαγές MEV στους επικυρωτές χωρίς να τις αποκαλύπτουν στο δημόσιο mempool. Αυτό αποτρέπει τις συναλλαγές από το να γίνουν frontrun από γενικευμένους frontrunners. + +## Παραδείγματα MEV {#mev-examples} + +Η MEV προκύπτει στην κρυπτοαλυσίδα με μερικούς τρόπους. + +### DEX arbitrage {#mev-examples-dex-arbitrage} + +Το αρμπιτράζ [αποκεντρωμένου ανταλλακτηρίου](/glossary/#dex) (DEX) είναι η πιο απλή και γνωστή ευκαιρία MEV. Ως αποτέλεσμα, είναι επίσης η πιο ανταγωνιστική. + +Λειτουργεί ως εξής: εάν δύο DEX προσφέρουν ένα token σε δύο διαφορετικές τιμές, κάποιος μπορεί να αγοράσει το token από το DEX με χαμηλότερη τιμή και να το πουλήσει στο DEX με υψηλότερη τιμή σε μια ενιαία, ατομική συναλλαγή. Χάρη στους μηχανισμούς της κρυπτοαλυσίδας, αυτό είναι αληθινό, χωρίς κίνδυνο αρμπιτράζ. + +[Ακολουθεί ένα παράδειγμα](https://etherscan.io/tx/0x5e1657ef0e9be9bc72efefe59a2528d0d730d478cfc9e6cdd09af9f997bb3ef4) μιας κερδοφόρας συναλλαγής αρμπιτράζ όπου ένας ερευνητής μετατρέπει 1.000 ETH σε 1.045 ETH εκμεταλλευόμενος τις διαφορετικές τιμές του ζεύγους ETH/DAI στο Uniswap έναντι του Sushiswap. + +### Ρευστοποιήσεις {#mev-examples-liquidations} + +Οι ρευστοποιήσεις πρωτοκόλλων δανεισμού παρουσιάζουν μια άλλη γνωστή ευκαιρία MEV. + +Τα πρωτόκολλα δανεισμού όπως το Maker και το Aave απαιτούν από τους χρήστες να καταθέσουν κάποια εξασφάλιση (π.χ. ETH). Αυτή η κατατεθειμένη εξασφάλιση χρησιμοποιείται στη συνέχεια για να δανείσει σε άλλους χρήστες. + +Οι χρήστες μπορούν στη συνέχεια να δανείζονται περιουσιακά στοιχεία και token από άλλους, ανάλογα με το τι χρειάζονται (π.χ. μπορείτε να δανειστείτε MKR εάν θέλετε να ψηφίσετε σε μια πρόταση διακυβέρνησης MakerDAO) έως ένα συγκεκριμένο ποσοστό της κατατεθειμένης εξασφάλισης τους. Για παράδειγμα, εάν το ποσό δανεισμού είναι μέγιστο 30%, ένας χρήστης που καταθέτει 100 DAI στο πρωτόκολλο μπορεί να δανείσει έως και 30 DAI αξίας ενός άλλου περιουσιακού στοιχείου. Το πρωτόκολλο καθορίζει το ακριβές ποσοστό δανειακής ισχύος. + +Καθώς η αξία της εξασφάλισης ενός δανειολήπτη κυμαίνεται, έτσι και η δανειακή του ισχύς. Εάν, λόγω των διακυμάνσεων της αγοράς η αξία των δανεισμένων περιουσιακών στοιχείων υπερβαίνει για παράδειγμα το 30% της αξίας της εγγύησής τους, (και πάλι, το ακριβές ποσοστό καθορίζεται από το πρωτόκολλο), το πρωτόκολλο συνήθως επιτρέπει σε οποιονδήποτε να ρευστοποιήσει την εγγύηση, αποπληρώνοντας αμέσως τους δανειστές (αυτό είναι παρόμοιο με το πώς λειτουργούν οι [κλήσεις margin](https://www.investopedia.com/terms/m/margincall.asp) στα παραδοσιακά χρηματοοικονομικά). Εάν ρευστοποιηθεί, ο δανειολήπτης συνήθως πρέπει να καταβάλει μια σημαντική αμοιβή ρευστοποίησης, μέρος της οποίας πηγαίνει στον ρευστοποιητή, αυτό είναι όπου εμφανίζεται η ευκαιρία MEV. + +Οι ερευνητές ανταγωνίζονται για την ανάλυση δεδομένων κρυπτοαλυσίδας όσο το δυνατόν γρηγορότερα για να προσδιορίσουν ποιους δανειολήπτες μπορούν να ρευστοποιηθούν και να είναι οι πρώτοι που θα υποβάλουν μια συναλλαγή ρευστοποίησης και θα συλλέξουν την αμοιβή ρευστοποίησης για τον εαυτό τους. + +### Sandwich trading {#mev-examples-sandwich-trading} + +Η συναλλαγή Sandwich είναι μια άλλη κοινή μέθοδος εξαγωγής MEV. + +Για να κάνει sandwich, ένας αναζητητής θα παρακολουθεί το mempool για μεγάλες συναλλαγές DEX. Για παράδειγμα, ας υποθέσουμε ότι κάποιος θέλει να αγοράσει 10.000 UNI με DAI στο Uniswap. Μια συναλλαγή αυτού του μεγέθους θα έχει μια σημαντική επίδραση στο ζεύγος UNI/DAI, πιθανώς αυξάνοντας σημαντικά την τιμή του UNI σε σχέση με το DAI. + +Ένας αναζητητής μπορεί να υπολογίσει την κατά προσέγγιση επίδραση τιμής αυτής της μεγάλης συναλλαγής στο ζεύγος UNI/DAI και να εκτελέσει μια βέλτιστη εντολή αγοράς αμέσως _πριν_ από τη μεγάλη συναλλαγή, αγοράζοντας UNI φθηνά, και στη συνέχεια να εκτελέσει μια εντολή πώλησης αμέσως _μετά_ τη μεγάλη συναλλαγή, για την υψηλότερη τιμή που προκαλείται από τη μεγάλη εντολή. + +Ωστόσο, το Sandwich είναι πιο επικίνδυνο καθώς δεν είναι ατομικό (σε αντίθεση με το arbitrage DEX, όπως περιγράφεται παραπάνω) και είναι επιρρεπές σε μια [επίθεση salmonella](https://github.com/Defi-Cartel/salmonella). + +### NFT MEV {#mev-examples-nfts} + +Το MEV στον χώρο των NFT είναι ένα αναδυόμενο φαινόμενο και δεν είναι απαραίτητα κερδοφόρο. + +Ωστόσο, δεδομένου ότι οι συναλλαγές NFT συμβαίνουν στην ίδια κρυπτοαλυσίδα που μοιράζονται όλες οι άλλες συναλλαγές Ethereum, οι αναζητητές μπορούν να χρησιμοποιήσουν παρόμοιες τεχνικές με αυτές που χρησιμοποιούνται στις παραδοσιακές ευκαιρίες MEV στην αγορά NFT. + +Για παράδειγμα, εάν υπάρχει μια δημοφιλής πτώση NFT και ένας αναζητητής θέλει ένα συγκεκριμένο NFT ή σύνολο NFT, μπορεί να προγραμματίσει μια συναλλαγή έτσι ώστε να είναι ο πρώτος στη σειρά για να αγοράσει το NFT ή μπορεί να αγοράσει ολόκληρο το σύνολο των NFT σε μια ενιαία συναλλαγή. Ή εάν ένα NFT είναι [κατά λάθος εισηγμένο σε χαμηλή τιμή](https://www.theblockcrypto.com/post/113546/mistake-sees-69000-cryptopunk-sold-for-less-than-a-cent), ένας αναζητητής μπορεί να προλάβει άλλους αγοραστές και να το αρπάξει φθηνά. + +Ένα εμφανές παράδειγμα NFT MEV συνέβη όταν ένας αναζητητής δαπάνησε 7 εκατομμύρια δολάρια για να [αγοράσει](https://etherscan.io/address/0x650dCdEB6ecF05aE3CAF30A70966E2F395d5E9E5) κάθε ένα Cryptopunk στην τιμή εκκίνησης. Ένας ερευνητής blockchain [εξήγησε στο Twitter](https://twitter.com/IvanBogatyy/status/1422232184493121538) πώς ο αγοραστής συνεργάστηκε με έναν πάροχο MEV για να κρατήσει την αγορά του μυστική. + +### The long tail {#mev-examples-long-tail} + +Το arbitrage DEX, οι εκκαθαρίσεις και το sandwich trading είναι όλες πολύ γνωστές ευκαιρίες MEV και είναι απίθανο να είναι κερδοφόρες για νέους αναζητητές. Ωστόσο, υπάρχει μια μακρύς δρόμος από λιγότερο γνωστές ευκαιρίες MEV (το NFT MEV είναι πιθανώς μια τέτοια ευκαιρία). + +Οι αναζητητές που μόλις ξεκινούν μπορεί να είναι σε θέση να βρουν περισσότερη επιτυχία αναζητώντας MEV σε αυτή τη μεγαλύτερο δρόμο. Ο [πίνακας εργασιών MEV](https://github.com/flashbots/mev-job-board) της Flashbot αναφέρει κάποιες αναδυόμενες ευκαιρίες. + +## Επιδράσεις MEV {#effects-of-mev} + +Το MEV δεν είναι καθόλου κακό — υπάρχουν θετικές και αρνητικές συνέπειες για το MEV στο Ethereum. + +### Τα θετικά {#effects-of-mev-the-good} + +Πολλά έργα DeFi βασίζονται σε οικονομικά ορθολογικούς παράγοντες για να εξασφαλίσουν τη χρησιμότητα και τη σταθερότητα των πρωτοκόλλων τους. Για παράδειγμα, το arbitrage DEX εξασφαλίζει ότι οι χρήστες λαμβάνουν τις καλύτερες και πιο σωστές τιμές για τα token τους, και τα πρωτόκολλα δανεισμού βασίζονται σε γρήγορες εκκαθαρίσεις όταν οι δανειολήπτες πέφτουν κάτω από τους λόγους εξασφάλισης για να εξασφαλίσουν ότι οι δανειστές πληρώνονται. + +Χωρίς ορθολογικούς αναζητητές που να αναζητούν και να διορθώνουν οικονομικές ανεπάρκειες και να εκμεταλλεύονται τα οικονομικά κίνητρα των πρωτοκόλλων, τα πρωτόκολλα DeFi και οι εφαρμογές DeFi γενικά ενδέχεται να μην είναι τόσο ισχυρά όσο είναι σήμερα. + +### Τα αρνητικά {#effects-of-mev-the-bad} + +Στο επίπεδο εφαρμογής, ορισμένες μορφές MEV, όπως το sandwich trading, έχουν ως αποτέλεσμα μια σαφώς χειρότερη εμπειρία για τους χρήστες. Οι χρήστες που είναι sandwiched αντιμετωπίζουν αυξημένη ολίσθηση και χειρότερη εκτέλεση στις συναλλαγές τους. + +Στο επίπεδο δικτύου, οι γενικευμένοι frontrunners και οι δημοπρασίες τιμής gas στις οποίες συχνά συμμετέχουν (όταν δύο ή περισσότεροι frontrunners ανταγωνίζονται για τη συναλλαγή τους να συμπεριληφθεί στο επόμενο μπλοκ ανεβάζοντας προοδευτικά την τιμή gas των δικών τους συναλλαγών) οδηγούν σε συμφόρηση δικτύου και υψηλές τιμές gas για όλους τους άλλους που προσπαθούν να εκτελέσουν κανονικές συναλλαγές. + +Εκτός από αυτό που συμβαίνει _εντός_ των μπλοκ, το MEV μπορεί να έχει επιζήμιες επιπτώσεις _μεταξύ_ των μπλοκ. Εάν το MEV που είναι διαθέσιμο σε ένα μπλοκ υπερβαίνει σημαντικά την τυπική ανταμοιβή μπλοκ, οι επικυρωτές ενδέχεται να έχουν κίνητρα να αναδιοργανώσουν τα μπλοκ και να κατακτήσουν το MEV για τον εαυτό τους, προκαλώντας αναδιοργάνωση της κρυπτοαλυσίδας και αστάθεια συναίνεσης. + +Η πιθανότητα αναδιοργάνωσης της κρυπτοαλυσίδας έχει [διερευνηθεί προηγουμένως στην κρυπτοαλυσίδα του Bitcoin](https://dl.acm.org/doi/10.1145/2976749.2978408). Καθώς η ανταμοιβή μπλοκ του Bitcoin μειώνεται στο μισό και τα τέλη συναλλαγής αποτελούν όλο και μεγαλύτερο μέρος της ανταμοιβής μπλοκ, προκύπτουν καταστάσεις όπου γίνεται οικονομικά λογικό για τους κρυπτορύχους να παρατήσουν την ανταμοιβή του επόμενου μπλοκ και αντίθετα να επανακρυπτορύξουν παλιά μπλοκ με υψηλότερα τέλη. Με την ανάπτυξη του MEV, θα μπορούσε να συμβεί η ίδια κατάσταση στο Ethereum, απειλώντας την ακεραιότητα της κρυπτοαλυσίδας. + +## Κατάσταση MEV {#state-of-mev} + +Η εξαγωγή MEV διογκώθηκε στις αρχές του 2021, οδηγώντας σε εξαιρετικά υψηλές τιμές αερίου τους πρώτους μήνες του έτους. Η εμφάνιση του MEV relay της Flashbots έχει μειώσει την αποτελεσματικότητα των γενικευμένων frontrunners και έχει μεταφέρει τους πλειστηριασμούς τιμών gas εκτός αλυσίδας, μειώνοντας τις τιμές gas για τους κανονικούς χρήστες. + +Ενώ πολλοί αναζητητές εξακολουθούν να κερδίζουν καλά χρήματα από το MEV, καθώς οι ευκαιρίες γίνονται πιο γνωστές και όλο και περισσότεροι αναζητητές ανταγωνίζονται για την ίδια ευκαιρία, οι επικυρωτές θα κατακτούν όλο και περισσότερο συνολικό έσοδο MEV (επειδή οι ίδιοι τύποι πλειστηριασμών gas όπως περιγράφηκαν αρχικά συμβαίνουν επίσης στο Flashbots, αν και ιδιωτικά, και οι επικυρωτές θα κατακτούν το προκύπτον έσοδο gas). Το MEV δεν είναι επίσης μοναδικό για το Ethereum και καθώς οι ευκαιρίες γίνονται πιο ανταγωνιστικές στο Ethereum, οι αναζητητές μετακινούνται σε εναλλακτικές αλυσίδες μπλοκ όπως το Binance Smart Chain, όπου υπάρχουν παρόμοιες ευκαιρίες MEV με αυτές στο Ethereum με λιγότερο ανταγωνισμό. + +Από την άλλη πλευρά, η μετάβαση από την απόδειξη εργασίας στην απόδειξη συμμετοχής και η συνεχιζόμενη προσπάθεια κλιμάκωσης του Ethereum χρησιμοποιώντας rollups αλλάζουν το τοπίο του MEV με τρόπους που είναι ακόμη κάπως ασαφείς. Δεν είναι ακόμη καλά κατανοητό ότι το να έχουμε εγγυημένους προτείνοντες μπλοκ γνωστούς εκ των προτέρων, αλλάζει τη δυναμική εξαγωγής MEV σε σύγκριση με το πιθανολογικό μοντέλο στην απόδειξη εργασίας ή πώς αυτό θα διαταραχθεί όταν εφαρμοστεί η [εκλογή μυστικού ηγέτη](https://ethresear.ch/t/secret-non-single-leader-election/11789) και η [τεχνολογία κατανεμημένου επικυρωτή](/staking/dvt/). Ομοίως, μένει να φανεί ποιες ευκαιρίες MEV υπάρχουν όταν η περισσότερη δραστηριότητα των χρηστών μεταφέρεται μακριά από το Ethereum και στα επίπεδα 2 rollups και shards του. + +## MEV στο Ethereum της Απόδειξης Συμμετοχής (PoS) {#mev-in-ethereum-proof-of-stake} + +Όπως εξηγήθηκε, το MEV έχει αρνητικές επιπτώσεις στη συνολική εμπειρία χρήστη και την ασφάλεια του επιπέδου συναίνεσης. Αλλά η μετάβαση του Ethereum σε μια συναίνεση απόδειξης συμμετοχής (που ονομάζεται "The Merge") ενδεχομένως εισάγει νέους κινδύνους που σχετίζονται με το MEV: + +### Κεντρικοποίηση Επικυρωτών {#validator-centralization} + +Στο Ethereum μετά το Merge, οι επικυρωτές (που έχουν κάνει καταθέσεις ασφαλείας 32 ETH) καταλήγουν σε συναίνεση σχετικά με την εγκυρότητα των μπλοκ που προστίθενται στην αλυσίδα Beacon. Δεδομένου ότι τα 32 ETH μπορεί να είναι εκτός της εμβέλειας πολλών, η [συμμετοχή σε μια δεξαμενή αποθήκευσης κεφαλαίου](/staking/pools/) μπορεί να είναι μια πιο εφικτή επιλογή. Ωστόσο, μια υγιής κατανομή της [ατομικής αποθήκευσης κεφαλαίου](/staking/solo/) είναι ιδανική, καθώς μετριάζει την κεντρικοποίηση των επικυρωτών και βελτιώνει την ασφάλεια του Ethereum. + +Ωστόσο, πιστεύεται ότι η εξαγωγή MEV είναι ικανή να επιταχύνει την κεντρικοποίηση των επικυρωτών. Αυτό οφείλεται εν μέρει στο ότι, καθώς οι επικυρωτές [κερδίζουν λιγότερα για την πρόταση μπλοκ](/roadmap/merge/issuance/#how-the-merge-impacts-ETH-supply) από ότι οι κρυπτορύκτες στο παρελθόν, η εξαγωγή MEV έχει [επηρέασε πολύ τα κέρδη των επικυρωτών](https://github.com/flashbots/eth2-research/blob/main/notebooks/mev-in-eth2/eth2-mev-calc.ipynb) από τη [Η συγχώνευση](/roadmap/merge/). + +Οι μεγαλύτερες δεξαμενές αποθήκευσης κεφαλαίου θα έχουν πιθανώς περισσότερους πόρους για να επενδύσουν στις απαραίτητες βελτιστοποιήσεις για να κατακτήσουν τις ευκαιρίες MEV. Όσο περισσότερο MEV εξάγουν αυτές οι δεξαμενές, τόσο περισσότερους πόρους έχουν για να βελτιώσουν τις δυνατότητες εξαγωγής MEV τους (και να αυξήσουν το συνολικό έσοδο), δημιουργώντας ουσιαστικά [οικονομίες κλίμακας](https://www.investopedia.com/terms/e/economiesofscale.asp#). + +Με λιγότερους πόρους στη διάθεσή τους, οι χρήστες με ατομική αποθήκευση ενδέχεται να μην είναι σε θέση να επωφεληθούν από τις ευκαιρίες MEV. Αυτό μπορεί να αυξήσει την πίεση στους ανεξάρτητους επικυρωτές να συμμετάσχουν σε ισχυρές δεξαμενές αποθήκευσης για να ενισχύσουν τα κέρδη τους, μειώνοντας την αποκέντρωση στο Ethereum. + +### Mempool με Άδειες {#permissioned-mempools} + +Ως απάντηση στις επιθέσεις sandwiching και frontrunning, οι έμποροι ενδέχεται να αρχίσουν να πραγματοποιούν συναλλαγές εκτός αλυσίδας με επικυρωτές για την ιδιωτικότητα των συναλλαγών. Αντί να στείλει μια πιθανή συναλλαγή MEV στο δημόσιο mempool, ο έμπορος τη στέλνει απευθείας στον επικυρωτή, ο οποίος τη συμπεριλαμβάνει σε ένα μπλοκ και μοιράζεται τα κέρδη με τον έμπορο. + +Οι "σκοτεινές δεξαμενές" είναι μια μεγαλύτερη έκδοση αυτής της συμφωνίας και λειτουργούν ως mempool με άδειες, προσβάσιμες μόνο σε χρήστες που είναι πρόθυμοι να πληρώσουν ορισμένες αμοιβές. Αυτή η τάση θα μειώσει την ανάγκη άδειας και την έλλειψη εμπιστοσύνης του Ethereum και ενδεχομένως θα μετατρέψει το blockchain σε έναν μηχανισμό "πληρώνω για να παίξω" που ευνοεί τον υψηλότερο πλειοδότη. + +Τα επιτρεπόμενα mempools θα επιτάχυναν επίσης τους κινδύνους κεντρικοποίησης που περιγράφονται στην προηγούμενη ενότητα. Οι μεγάλες δεξαμενές που εκτελούν πολλούς επικυρωτές θα ωφεληθούν πιθανώς από την προσφορά ιδιωτικότητας συναλλαγών σε εμπόρους και χρήστες, αυξάνοντας τα έσοδα MEV τους. + +Η καταπολέμηση αυτών των προβλημάτων που σχετίζονται με το MEV στο Ethereum μετά το Merge αποτελεί βασικό τομέα έρευνας. Μέχρι σήμερα, δύο προτεινόμενες λύσεις για τη μείωση του αρνητικού αντίκτυπου του MEV στην αποκέντρωση και την ασφάλεια του Ethereum μετά το Merge είναι ο [**διαχωρισμός προτείνοντος-κατασκευαστή (PBS)**](/roadmap/pbs/) και το [**API κατασκευαστή**](https://github.com/ethereum/builder-specs). + +### Διαχωρισμός Προτείνοντος-Κατασκευαστή {#proposer-builder-separation} + +Τόσο στην απόδειξη εργασίας όσο και στην απόδειξη συμμετοχής, ένας κόμβος που κατασκευάζει ένα μπλοκ το προτείνει για προσθήκη στην αλυσίδα σε άλλους κόμβους που συμμετέχουν στη συναίνεση. Ένα νέο μπλοκ γίνεται μέρος της κανονικής αλυσίδας αφού ένας άλλος κρυπτορύχος χτίσει πάνω του (σε PoW) ή λαμβάνει βεβαιώσεις από την πλειοψηφία των επικυρωτών (σε PoS). + +Ο συνδυασμός των ρόλων παραγωγού μπλοκ και προτείνοντος μπλοκ είναι αυτός που εισάγει τα περισσότερα από τα προβλήματα που σχετίζονται με το MEV που περιγράφονται προηγουμένως. Για παράδειγμα, οι κόμβοι συναίνεσης έχουν κίνητρα να προκαλέσουν αναδιοργανώσεις αλυσίδας σε [επιθέσεις χρονικού περιορισμού](https://www.mev.wiki/attack-examples/time-bandit-attack) για να μεγιστοποιήσουν τα έσοδα MEV. + +Ο [διαχωρισμός προτείνοντος-κατασκευαστή](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725) (PBS) έχει σχεδιαστεί για να μετριάσει τον αντίκτυπο του MEV, ειδικά στο επίπεδο συναίνεσης. Το κύριο χαρακτηριστικό του PBS είναι ο διαχωρισμός των κανόνων παραγωγού μπλοκ και προτείνοντος μπλοκ. Οι επικυρωτές εξακολουθούν να είναι υπεύθυνοι για την πρόταση και την ψήφιση μπλοκ, αλλά μια νέα κατηγορία εξειδικευμένων οντοτήτων, που ονομάζονται **κατασκευαστές μπλοκ**, αναλαμβάνουν την ευθύνη της ταξινόμησης συναλλαγών και της κατασκευής μπλοκ. + +Στο πλαίσιο του PBS, ένας κατασκευαστής μπλοκ δημιουργεί ένα πακέτο συναλλαγών και υποβάλλει μια προσφορά για τη συμπερίληψή του σε ένα μπλοκ αλυσίδας Beacon (ως "φορτίο εκτέλεσης"). Ο επικυρωτής που επιλέγεται για να προτείνει το επόμενο μπλοκ ελέγχει στη συνέχεια τις διαφορετικές προσφορές και επιλέγει το πακέτο με την υψηλότερη αμοιβή. Το PBS δημιουργεί ουσιαστικά μια αγορά πλειστηριασμού, όπου οι κατασκευαστές διαπραγματεύονται με τους επικυρωτές που πωλούν χώρο μπλοκ. + +Τα τρέχοντα σχέδια PBS χρησιμοποιούν ένα [σχέδιο δέσμευσης-αποκάλυψης](https://gitcoin.co/blog/commit-reveal-scheme-on-ethereum/) στο οποίο οι κατασκευαστές δημοσιεύουν μόνο μια κρυπτογραφική δέσμευση στο περιεχόμενο ενός μπλοκ (επικεφαλίδα μπλοκ) μαζί με τις προσφορές τους. Μετά την αποδοχή της νικητήριας προσφοράς, ο προτείνων δημιουργεί μια υπογεγραμμένη πρόταση μπλοκ που περιλαμβάνει την επικεφαλίδα του μπλοκ. Ο κατασκευαστής του μπλοκ αναμένεται να δημοσιεύσει το πλήρες σώμα του μπλοκ αφού δει την υπογεγραμμένη πρόταση μπλοκ και πρέπει επίσης να λάβει αρκετές [βεβαιώσεις](/glossary/#attestation) από επικυρωτές πριν ολοκληρωθεί. + +#### Πώς η Διαχωρισμός Προτείνων-Κατασκευαστών Μειώνει τον Αντίκτυπο της MEV; {#how-does-pbs-curb-mev-impact} + +Η διαχωρισμός εντός πρωτοκόλλου προτείνων - κατασκευαστών μειώνει την επίδραση του MEV στη συναίνεση αφαιρώντας την εξαγωγή MEV από το πεδίο των επικυρωτών. Αντίθετα, οι κατασκευαστές μπλοκ που εκτελούν εξειδικευμένο υλικό θα καταγράφουν ευκαιρίες MEV στο μέλλον. + +Αυτό δεν αποκλείει εντελώς τους επικυρωτές από τα έσοδα που σχετίζονται με το MEV, καθώς οι κατασκευαστές πρέπει να προσφέρουν υψηλές τιμές για να γίνουν τα μπλοκ τους αποδεκτά από τους επικυρωτές. Ωστόσο, με τους επικυρωτές να μην επικεντρώνονται πλέον άμεσα στη βελτιστοποίηση των εσόδων MEV, η απειλή των επιθέσεων time-bandit μειώνεται. + +Η διαχωρισμός προτείνων-κατασκευαστών μειώνει επίσης τους κινδύνους συγκέντρωσης του MEV. Για παράδειγμα, η χρήση ενός σχεδίου δέσμευσης - αποκάλυψης καταργεί την ανάγκη για τους κατασκευαστές να εμπιστεύονται τους επικυρωτές να μην κλέψουν την ευκαιρία MEV ή να την εκθέσουν σε άλλους κατασκευαστές. Αυτό μειώνει το εμπόδιο για τους μεμονωμένους παίκτες να επωφεληθούν από το MEV, διαφορετικά, οι κατασκευαστές θα έτειναν να ευνοούν μεγάλες δεξαμενές με φήμη εκτός αλυσίδας και να κάνουν συμφωνίες εκτός αλυσίδας μαζί τους. + +Ομοίως, οι επικυρωτές δε χρειάζεται να εμπιστεύονται τους κατασκευαστές να μην κρατήσουν τα σώματα των μπλοκ ή να δημοσιεύσουν μη έγκυρα μπλοκ επειδή η πληρωμή είναι άνευ όρων. Η αμοιβή του επικυρωτή εξακολουθεί να επεξεργάζεται ακόμα κι αν το προτεινόμενο μπλοκ είναι μη διαθέσιμο ή κηρυχθεί άκυρο από άλλους επικυρωτές. Στην τελευταία περίπτωση, το μπλοκ απλώς απορρίπτεται, αναγκάζοντας τον κατασκευαστή του μπλοκ να χάσει όλα τα τέλη συναλλαγών και τα έσοδα MEV. + +### API Κατασκευαστή {#builder-api} + +Ενώ η διαχωρισμός προτείνοντος - κατασκευαστή υπόσχεται να μειώσει τις επιπτώσεις της εξαγωγής MEV, η εφαρμογή του απαιτεί αλλαγές στο πρωτόκολλο συναίνεσης. Ειδικότερα, ο κανόνας [επιλογής fork](/developers/docs/consensus-mechanisms/pos/#fork-choice) στην αλυσίδα Beacon θα πρέπει να ενημερωθεί. Το [API κατασκευαστή](https://github.com/ethereum/builder-specs) είναι μια προσωρινή λύση που στοχεύει στην παροχή μιας λειτουργικής εφαρμογής του διαχωρισμού προτείνοντος - κατασκευαστή, αν και με υψηλότερες υποθέσεις εμπιστοσύνης. + +Το API κατασκευαστή είναι μια τροποποιημένη έκδοση του [API μηχανής](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md) που χρησιμοποιείται από τους πελάτες του επιπέδου συναίνεσης για να ζητήσουν φορτία εκτέλεσης από τους πελάτες του επιπέδου εκτέλεσης. Όπως περιγράφεται στην [προδιαγραφή ειλικρινούς επικυρωτή](https://github.com/ethereum/consensus-specs/blob/dev/specs/bellatrix/validator.md), οι επικυρωτές που επιλέγονται για τα καθήκοντα του προτείνων μπλοκ, ζητούν ένα πακέτο συναλλαγών από έναν συνδεδεμένο πελάτη εκτέλεσης, το οποίο περιλαμβάνουν στο προτεινόμενο μπλοκ αλυσίδας Beacon. + +Το API κατασκευαστή λειτουργεί επίσης ως ενδιάμεσο λογισμικό μεταξύ των επικυρωτών και των πελατών επιπέδου εκτέλεσης, αλλά διαφέρει επειδή επιτρέπει στους επικυρωτές στην αλυσίδα Beacon να προμηθεύονται μπλοκ από εξωτερικές οντότητες (αντί να κατασκευάζουν ένα μπλοκ τοπικά χρησιμοποιώντας έναν πελάτη εκτέλεσης). + +Παρακάτω παρατίθεται μια επισκόπηση του τρόπου λειτουργίας του API κατασκευαστή: + +1. Το Builder API συνδέει τον επικυρωτή με ένα δίκτυο κατασκευαστών μπλοκ που εκτελούν πελάτες επιπέδου εκτέλεσης. Όπως στο PBS, οι κατασκευαστές είναι εξειδικευμένα μέρη που επενδύουν σε καταναλωτικούς πόρους κατασκευής μπλοκ και χρησιμοποιούν διαφορετικές στρατηγικές για να μεγιστοποιήσουν τα έσοδα που αποκτώνται από το MEV + τις συμβουλές προτεραιότητας. + +2. Ένας επικυρωτής (που εκτελεί έναν πελάτη επιπέδου συναίνεσης) ζητά φορτία εκτέλεσης μαζί με προσφορές από το δίκτυο των κατασκευαστών. Οι προσφορές από τους κατασκευαστές θα περιέχουν την κεφαλίδα φορτίου εκτέλεσης, μια κρυπτογραφική δέσμευση στο περιεχόμενο του φορτίου, και μια αμοιβή που θα καταβληθεί στον επικυρωτή. + +3. Ο επικυρωτής εξετάζει τις εισερχόμενες προσφορές και επιλέγει το φορτίο εκτέλεσης με την υψηλότερη αμοιβή. Χρησιμοποιώντας το Builder API, ο επικυρωτής δημιουργεί μια "τυφλή" πρόταση μπλοκ Beacon που περιλαμβάνει μόνο την υπογραφή του και την κεφαλίδα φορτίου εκτέλεσης και τη στέλνει στον κατασκευαστή. + +4. Ο κατασκευαστής που εκτελεί το Builder API αναμένεται να απαντήσει με το πλήρες φορτίο εκτέλεσης όταν δει την τυφλή πρόταση μπλοκ. Αυτό επιτρέπει στον επικυρωτή να δημιουργήσει ένα "υπογεγραμμένο" μπλοκ Beacon, το οποίο διαδίδει στο δίκτυο. + +5. Ένας επικυρωτής που χρησιμοποιεί το Builder API αναμένεται ακόμα να δημιουργήσει ένα μπλοκ τοπικά σε περίπτωση που ο κατασκευαστής μπλοκ δεν ανταποκριθεί άμεσα, ώστε να μη χάσει τις ανταμοιβές πρότασης μπλοκ. Ωστόσο, ο επικυρωτής δεν μπορεί να δημιουργήσει ένα άλλο μπλοκ χρησιμοποιώντας είτε τις τώρα αποκαλυφθείσες συναλλαγές είτε ένα άλλο σύνολο, καθώς αυτό θα ισοδυναμούσε με _ισοδυναμία_ (υπογραφή δύο μπλοκ στο ίδιο χρονικό διάστημα), που είναι μια τιμωρήσιμη παράβαση. + +Ένα παράδειγμα εφαρμογής του Builder API είναι το [MEV Boost](https://github.com/flashbots/mev-boost), μια βελτίωση του [μηχανισμού δημοπρασίας Flashbots](https://docs.flashbots.net/Flashbots-auction/overview/) που σχεδιάστηκε για να περιορίσει τις αρνητικές εξωτερικότητες του MEV στο Ethereum. Η δημοπρασία Flashbots επιτρέπει στους επικυρωτές στην απόδειξη συμμετοχής να αναθέσουν το έργο της κατασκευής κερδοφόρων μπλοκ σε εξειδικευμένα μέρη που ονομάζονται **αναζητητές**. ![Ένα διάγραμμα που δείχνει τη ροή MEV λεπτομερώς](./mev.png) + +Οι αναζητητές ψάχνουν για κερδοφόρες ευκαιρίες MEV και στέλνουν πακέτα συναλλαγών στους προτείνοντες μπλοκ μαζί με μια [σφραγισμένη προσφορά τιμής](https://en.wikipedia.org/wiki/First-price_sealed-bid_auction) για συμπερίληψη στο μπλοκ. Ο επικυρωτής που εκτελεί το mev-geth, μια έκδοση fork του πελάτη go-ethereum (Geth) πρέπει μόνο να επιλέξει το πακέτο με το μεγαλύτερο κέρδος και να το συμπεριλάβει ως μέρος του νέου μπλοκ. Για να προστατεύσουν τους προτείνοντες μπλοκ (επικυρωτές) από ανεπιθύμητα μηνύματα και μη έγκυρες συναλλαγές, τα πακέτα συναλλαγών περνούν από **μεσολαβητές** για επαλήθευση πριν φτάσουν στον προτείνων. + +Το MEV Boost διατηρεί τους ίδιους τρόπους λειτουργίας της αρχικής δημοπρασίας Flashbots, αν και με νέες λειτουργίες σχεδιασμένες για τη μετάβαση του Ethereum σε απόδειξη συμμετοχής. Οι αναζητητές εξακολουθούν να βρίσκουν κερδοφόρες συναλλαγές MEV για συμπερίληψη σε μπλοκ, αλλά μια νέα κατηγορία εξειδικευμένων μερών, που ονομάζονται **δημιουργοί**, είναι υπεύθυνοι για τη συναθροίσεις συναλλαγών και πακέτων σε μπλοκ. Ένας κατασκευαστής αποδέχεται σφραγισμένες προσφορές τιμών από αναζητητές και εκτελεί βελτιστοποιήσεις για να βρει την πιο κερδοφόρα σειρά. + +Ο μεσολαβητής εξακολουθεί να είναι υπεύθυνος για την επαλήθευση των πακέτων συναλλαγών πριν τα παραδώσει στον προτείνων. Ωστόσο, το MEV Boost εισάγει **εγγυήσεις** που είναι υπεύθυνες για την παροχή [διαθεσιμότητας δεδομένων](/developers/docs/data-availability/) αποθηκεύοντας τα σώματα μπλοκ που στέλνονται από τους κατασκευαστές και τις κεφαλίδες μπλοκ που στέλνονται από τους επικυρωτές. Εδώ, ένας επικυρωτής που είναι συνδεδεμένος με έναν μεσολαβητή ζητά διαθέσιμα φορτία εκτέλεσης και χρησιμοποιεί τον αλγόριθμο ταξινόμησης του MEV Boost για να επιλέξει την κεφαλίδα φορτίου με την υψηλότερη προσφορά + συμβουλές MEV. + +#### Πώς το Builder API μετριάζει τον αντίκτυπο του MEV; {#how-does-builder-api-curb-mev-impact} + +Το βασικό όφελος του Builder API είναι η δυνατότητά του να δημοκρατικοποιήσει την πρόσβαση στις ευκαιρίες MEV. Η χρήση σχημάτων commit-reveal εξαλείφει τις υποθέσεις εμπιστοσύνης και μειώνει τα εμπόδια εισόδου για τους επικυρωτές που επιθυμούν να επωφεληθούν από το MEV. Αυτό θα πρέπει να μειώσει την πίεση στους μεμονωμένους επικυρωτές να ενσωματωθούν σε μεγάλες ομάδες με αποθηκευμένο κεφάλαιο για να ενισχύσουν τα κέρδη MEV. + +Η ευρεία εφαρμογή του Builder API θα ενθαρρύνει μεγαλύτερο ανταγωνισμό μεταξύ των κατασκευαστών μπλοκ, γεγονός που αυξάνει την αντίσταση στη λογοκρισία. Καθώς οι επικυρωτές εξετάζουν προσφορές από πολλούς κατασκευαστές, ένας κατασκευαστής που σκοπεύει να λογοκρίνει μία ή περισσότερες συναλλαγές χρηστών πρέπει να προσφέρει μεγαλύτερη προσφορά από όλους τους άλλους μη λογοκριτικούς κατασκευαστές για να πετύχει. Αυτό αυξάνει δραματικά το κόστος λογοκρισίας των χρηστών και αποθαρρύνει την πρακτική. + +Ορισμένα έργα, όπως το MEV Boost, χρησιμοποιούν το Builder API ως μέρος μιας συνολικής δομής σχεδιασμένης για να παρέχει ιδιωτικότητα συναλλαγών σε ορισμένα μέρη, όπως οι έμποροι που προσπαθούν να αποφύγουν τις επιθέσεις frontrunning/sandwiching. Αυτό επιτυγχάνεται μέσω της παροχής ενός ιδιωτικού καναλιού επικοινωνίας μεταξύ των χρηστών και των κατασκευαστών μπλοκ. Σε αντίθεση με τα προαναφερθέντα επιτρεπόμενα mempools, αυτή η προσέγγιση είναι επωφελής για τους ακόλουθους λόγους: + +1. Η ύπαρξη πολλαπλών κατασκευαστών στην αγορά καθιστά τον λογοκρισμό μη πρακτικό, προς όφελος των χρηστών. Αντιθέτως, η ύπαρξη συγκεντρωτικών και βασισμένων στην εμπιστοσύνη σκοτεινών pool θα συγκέντρωνε την εξουσία στα χέρια λίγων κατασκευαστών μπλοκ και θα αύξανε την πιθανότητα λογοκρισίας. + +2. Το λογισμικό του Builder API είναι ανοιχτού κώδικα, επιτρέποντας σε οποιονδήποτε να προσφέρει υπηρεσίες κατασκευαστή μπλοκ. Αυτό σημαίνει ότι οι χρήστες δεν αναγκάζονται να χρησιμοποιήσουν κάποιο συγκεκριμένο κατασκευαστή μπλοκ και βελτιώνει την ουδετερότητα και την άδεια του Ethereum. Επιπλέον, οι traders που αναζητούν MEV δε θα συμβάλλουν άθελά τους στη συγκέντρωση χρησιμοποιώντας ιδιωτικά κανάλια συναλλαγών. + +## Σχετικοί Πόροι {#related-resources} + +- [Έγγραφα Flashbots](https://docs.flashbots.net/) +- [Flashbots GitHub](https://github.com/flashbots/pm) +- [MEV-Explore](https://explore.flashbots.net/) - _Πίνακας εργαλείων και live εξερευνητής συναλλαγών για συναλλαγές MEV_ +- [mevboost.org](https://www.mevboost.org/) - _Παρακολούθηση με στατιστικά σε πραγματικό χρόνο για relays MEV-Boost και κατασκευαστές μπλοκ_ + +## Περισσότερες πληροφορίες {#further-reading} + +- [Τι είναι η Εξαχθείσα Αξία Κρυπτορύχου (MEV);](https://blog.chain.link/what-is-miner-extractable-value-mev/) +- [Η MEV και Εγώ](https://www.paradigm.xyz/2021/02/mev-and-me) +- [Το Ethereum είναι ένα Σκοτεινό Δάσος](https://www.paradigm.xyz/2020/08/ethereum-is-a-dark-forest/) +- [Απόδραση από το Σκοτεινό Δάσος](https://samczsun.com/escaping-the-dark-forest/) +- [Flashbots: Ξεπερνώντας την Κρίση MEV](https://medium.com/flashbots/frontrunning-the-mev-crisis-40629a613752) +- [Συζητήσεις MEV του @bertcmiller](https://twitter.com/bertcmiller/status/1402665992422047747) +- [MEV-Boost: Αρχιτεκτονική Flashbots Έτοιμη για Συγχώνευση](https://ethresear.ch/t/mev-boost-merge-ready-flashbots-architecture/11177) +- [Τι είναι το MEV Boost](https://www.alchemy.com/overviews/mev-boost) +- [Γιατί να εκτελέσετε mev-boost;](https://writings.flashbots.net/writings/why-run-mevboost/) +- [Οδηγός εξερεύνησης Ethereum](https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum) diff --git a/public/content/translations/el/developers/docs/networking-layer/index.md b/public/content/translations/el/developers/docs/networking-layer/index.md new file mode 100644 index 00000000000..a7a4f554ccf --- /dev/null +++ b/public/content/translations/el/developers/docs/networking-layer/index.md @@ -0,0 +1,155 @@ +--- +title: Επίπεδο δικτύωσης +description: Μια εισαγωγή στο επίπεδο δικτύωσης του Ethereum. +lang: el +sidebarDepth: 2 +--- + +Το Ethereum είναι ένα δίκτυο peer-to-peer με χιλιάδες κόμβους που πρέπει να μπορούν να επικοινωνούν μεταξύ τους χρησιμοποιώντας τυποποιημένα πρωτόκολλα. Το "επίπεδο δικτύωσης" είναι η στοίβα πρωτοκόλλων που επιτρέπουν σε αυτούς τους κόμβους να βρίσκουν ο ένας τον άλλον και να ανταλλάσσουν πληροφορίες. Αυτό περιλαμβάνει τη "διασπορά" πληροφοριών (επικοινωνία ένας προς πολλούς) μέσω του δικτύου καθώς και την ανταλλαγή αιτημάτων και απαντήσεων μεταξύ συγκεκριμένων κόμβων (επικοινωνία ένας προς έναν). Κάθε κόμβος πρέπει να συμμορφώνεται με συγκεκριμένους κανόνες δικτύωσης για να διασφαλίσει ότι στέλνει και λαμβάνει τις σωστές πληροφορίες. + +Υπάρχουν δύο μέρη στο λογισμικό πελάτη (πελάτες εκτέλεσης και πελάτες συναίνεσης), καθένα με τη δική του ξεχωριστή στοίβα δικτύωσης. Εκτός από την επικοινωνία με άλλους κόμβους Ethereum, οι πελάτες εκτέλεσης και συναίνεσης πρέπει να επικοινωνούν μεταξύ τους. Αυτή η σελίδα δίνει μια εισαγωγική εξήγηση των πρωτοκόλλων που επιτρέπουν αυτήν την επικοινωνία. + +Οι πελάτες εκτέλεσης διασπείρουν συναλλαγές μέσω του δικτύου peer-to-peer εκτέλεσης. Αυτό απαιτεί κρυπτογραφημένη επικοινωνία μεταξύ πιστοποιημένων ομότιμων. Όταν επιλεγεί ένας επικυρωτής για να προτείνει ένα μπλοκ, οι συναλλαγές από το τοπικό pool συναλλαγών του κόμβου θα μεταβιβαστούν στους πελάτες συναίνεσης μέσω μιας τοπικής σύνδεσης RPC, η οποία θα συσκευαστεί σε μπλοκ Beacon. Οι πελάτες συναίνεσης θα διασπείρουν στη συνέχεια τα μπλοκ Beacon μέσω του δικτύου τους p2p. Αυτό απαιτεί δύο ξεχωριστά δίκτυα p2p: ένα που συνδέει τους πελάτες εκτέλεσης για τη διασπορά συναλλαγών και ένα που συνδέει τους πελάτες συναίνεσης για τη διασπορά μπλοκ. + +## Προαπαιτούμενα {#prerequisites} + +Μερικές γνώσεις για τους [κόμβους και τους πελάτες](/developers/docs/nodes-and-clients/) Ethereum θα είναι χρήσιμες για την κατανόηση αυτής της σελίδας. + +## Το επίπεδο εκτέλεσης {#execution-layer} + +Τα πρωτόκολλα δικτύωσης του επιπέδου εκτέλεσης χωρίζονται σε δύο στοίβες: + +- Τη στοίβα ανακάλυψης: χτισμένη πάνω από το UDP και επιτρέπει σε έναν νέο κόμβο να βρει ομότιμους για σύνδεση. + +- Τη στοίβα DevP2P: βρίσκεται πάνω από το TCP και επιτρέπει στους κόμβους να ανταλλάσσουν πληροφορίες. + +Και οι δύο στοίβες λειτουργούν παράλληλα. Η στοίβα ανακάλυψης τροφοδοτεί νέους συμμετέχοντες δικτύου στο δίκτυο, και η στοίβα DevP2P επιτρέπει τις αλληλεπιδράσεις τους. + +### Εξερεύνηση {#discovery} + +Η ανακάλυψη είναι η διαδικασία εύρεσης άλλων κόμβων στο δίκτυο. Αυτό ξεκινά με τη χρήση ενός μικρού συνόλου κόμβων εκκίνησης (κόμβοι των οποίων οι διευθύνσεις είναι [ενσωματωμένες](https://github.com/ethereum/go-ethereum/blob/master/params/bootnodes.go) στον πελάτη, ώστε να μπορούν να βρεθούν αμέσως και να συνδέσουν τον πελάτη με ομότιμους). Αυτοί οι κόμβοι εκκίνησης υπάρχουν μόνο για να εισαγάγουν έναν νέο κόμβο σε ένα σύνολο ομότιμων καθώς αυτή είναι η μόνη τους λειτουργία, δε συμμετέχουν σε κανονικές εργασίες πελάτη όπως ο συγχρονισμός της αλυσίδας και χρησιμοποιούνται μόνο την πρώτη φορά που ένας πελάτης ξεκινά. + +Το πρωτόκολλο που χρησιμοποιείται για τις αλληλεπιδράσεις κόμβου-bootnode είναι μια τροποποιημένη μορφή του [Kademlia](https://medium.com/coinmonks/a-brief-overview-of-kademlia-and-its-use-in-various-decentralized-platforms-da08a7f72b8f) που χρησιμοποιεί έναν [κατανεμημένο πίνακα κατακερματισμού](https://en.wikipedia.org/wiki/Distributed_hash_table) για να μοιράζεται λίστες κόμβων. Κάθε κόμβος έχει μια έκδοση αυτού του πίνακα που περιέχει τις πληροφορίες που απαιτούνται για τη σύνδεση με τους πλησιέστερους ομότιμους του. Αυτή η "εγγύτητα" δεν είναι γεωγραφική, η απόσταση ορίζεται από την ομοιότητα του αναγνωριστικού του κόμβου. Ο πίνακας κάθε κόμβου ανανεώνεται τακτικά ως μέτρο ασφαλείας. Για παράδειγμα, στο πρωτόκολλο ανακάλυψης [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5), οι κόμβοι μπορούν επίσης να στέλνουν "διαφημίσεις" που εμφανίζουν τα υπο πρωτόκολλα που υποστηρίζει ο πελάτης, επιτρέποντας στους ομότιμους να διαπραγματευτούν σχετικά με τα πρωτόκολλα που μπορούν και οι δύο να χρησιμοποιήσουν για επικοινωνία. + +Η ανακάλυψη ξεκινά με ένα παιχνίδι PING-PONG. Ένα επιτυχημένο PING-PONG "δένει" τον νέο κόμβο με ένα bootnode. Το αρχικό μήνυμα που ειδοποιεί ένα bootnode για την ύπαρξη ενός νέου κόμβου που εισέρχεται στο δίκτυο είναι ένα `PING`. Αυτό το `PING` περιλαμβάνει κατακερματισμένες πληροφορίες σχετικά με τον νέο κόμβο, το bootnode και μια χρονική σφραγίδα λήξης. Το bootnode λαμβάνει το `PING` και επιστρέφει ένα `PONG` που περιέχει τον κατακερματισμό `PING`. Εάν οι κατακερματισμοί `PING` και `PONG` ταιριάζουν, τότε η σύνδεση μεταξύ του νέου κόμβου και του bootnode επαληθεύεται και λέγεται ότι έχουν "δεθεί". + +Μόλις συνδεθεί, ο νέος κόμβος μπορεί να στείλει μια αίτηση `FIND-NEIGHBOURS` στο bootnode. Τα δεδομένα που επιστρέφονται από το bootnode περιλαμβάνουν μια λίστα ομότιμων με τους οποίους μπορεί να συνδεθεί ο νέος κόμβος. Εάν οι κόμβοι δεν είναι δεμένοι, η αίτηση `FIND-NEIGHBOURS` θα αποτύχει, οπότε ο νέος κόμβος δε θα μπορεί να εισέλθει στο δίκτυο. + +Μόλις ο νέος κόμβος λάβει μια λίστα γειτόνων από τον κόμβο εκκίνησης, ξεκινά μια ανταλλαγή PING-PONG με καθέναν από αυτούς. Οι επιτυχημένες ανταλλαγές PING-PONG συνδέουν τον νέο κόμβο με τους γείτονές του, επιτρέποντας την ανταλλαγή μηνυμάτων. + +``` +start client --> connect to bootnode --> bond to bootnode --> find neighbours --> bond to neighbours +``` + +Οι πελάτες εκτέλεσης χρησιμοποιούν αυτήν τη στιγμή το πρωτόκολλο ανακάλυψης [Discv4](https://github.com/ethereum/devp2p/blob/master/discv4.md) και υπάρχει μια ενεργή προσπάθεια μετανάστευσης στο πρωτόκολλο [Discv5](https://github.com/ethereum/devp2p/tree/master/discv5). + +#### ENR: Εγγραφές κόμβου Ethereum {#enr} + +Η [εγγραφή κόμβου Ethereum (ENR)](/developers/docs/networking-layer/network-addresses/) είναι ένα αντικείμενο που περιέχει τρία βασικά στοιχεία: μια υπογραφή (hash του περιεχομένου της εγγραφής που δημιουργείται σύμφωνα με κάποιο συμφωνημένο σχέδιο ταυτοποίησης), έναν αριθμό ακολουθίας που παρακολουθεί τις αλλαγές στην εγγραφή και μια αυθαίρετη λίστα ζευγών κλειδιού:τιμής. Αυτή είναι μια μελλοντική μορφή που επιτρέπει την ευκολότερη ανταλλαγή πληροφοριών ταυτοποίησης μεταξύ νέων ομότιμων και είναι η προτιμώμενη μορφή [διεύθυνσης δικτύου](/developers/docs/networking-layer/network-addresses) για τους κόμβους Ethereum. + +#### Γιατί η ανακάλυψη είναι χτισμένη στο UDP; {#why-udp} + +Το UDP δεν υποστηρίζει κανέναν έλεγχο σφαλμάτων, επαναστολή αποτυχημένων πακέτων ή δυναμικό άνοιγμα και κλείσιμο συνδέσεων - αντίθετα, πυροβολεί ένα συνεχές ρεύμα πληροφοριών σε έναν στόχο, ανεξάρτητα από το αν έχει ληφθεί με επιτυχία. Αυτή η ελάχιστη λειτουργικότητα μεταφράζεται επίσης σε ελάχιστο επιπλέον κόστος, καθιστώντας αυτό το είδος σύνδεσης πολύ γρήγορο. Για την ανακάλυψη, όπου ένας κόμβος απλά θέλει να γνωστοποιήσει την παρουσία του για να δημιουργήσει στη συνέχεια μια επίσημη σύνδεση με έναν ομότιμο, το UDP είναι επαρκές. Ωστόσο, για την υπόλοιπη στοίβα δικτύωσης, το UDP δεν είναι κατάλληλο για τον σκοπό αυτό. Η ανταλλαγή πληροφοριών μεταξύ των κόμβων είναι αρκετά περίπλοκη και επομένως χρειάζεται ένα πιο πλήρες πρωτόκολλο που μπορεί να υποστηρίξει επαναστολή, έλεγχο σφαλμάτων κ.λπ. Το πρόσθετο κόστος που σχετίζεται με το TCP αξίζει την πρόσθετη λειτουργικότητα. Επομένως, το μεγαλύτερο μέρος της στοίβας P2P λειτουργεί μέσω TCP. + +### DevP2P {#devp2p} + +Το DevP2P είναι από μόνο του μια ολόκληρη στοίβα πρωτοκόλλων που υλοποιεί το Ethereum για να δημιουργήσει και να διατηρήσει το δίκτυο peer-to-peer. Μετά την είσοδο νέων κόμβων στο δίκτυο, οι αλληλεπιδράσεις τους διέπονται από πρωτόκολλα στη στοίβα [DevP2P](https://github.com/ethereum/devp2p). Όλα αυτά βρίσκονται πάνω από το TCP και περιλαμβάνουν το πρωτόκολλο μεταφοράς RLPx, το πρωτόκολλο καλωδίωσης και αρκετά υποπρωτόκολλα. Το [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md) είναι το πρωτόκολλο που διέπει την έναρξη, την πιστοποίηση και τη διατήρηση των συνεδριών μεταξύ των κόμβων. Το RLPx κωδικοποιεί μηνύματα χρησιμοποιώντας RLP (Recursive Length Prefix), το οποίο είναι μια πολύ αποδοτική μέθοδος κωδικοποίησης δεδομένων σε μια ελάχιστη δομή για αποστολή μεταξύ κόμβων. + +Μια συνεδρία RLPx μεταξύ δύο κόμβων ξεκινά με μια αρχική κρυπτογραφημένη επικοινωνία. Αυτό περιλαμβάνει την αποστολή ενός μηνύματος auth από τον κόμβο, το οποίο στη συνέχεια επαληθεύεται από τον ομότιμο. Μετά την επιτυχή επαλήθευση, ο ομότιμος δημιουργεί ένα μήνυμα auth-acknowledgement για να επιστρέψει στον κόμβο εκκίνησης. Αυτή είναι μια διαδικασία ανταλλαγής κλειδιών που επιτρέπει στους κόμβους να επικοινωνούν ιδιωτικά και με ασφάλεια. Μια επιτυχημένη κρυπτογραφημένη επικοινωνία ενεργοποιεί και τους δύο κόμβους να στείλουν ένα μήνυμα "hello" ο ένας στον άλλο "on the wire". Το πρωτόκολλο καλωδίωσης ξεκινά με μια επιτυχή ανταλλαγή μηνυμάτων hello. + +Τα μηνύματα hello περιέχουν: + +- έκδοση πρωτοκόλλου +- ID πελάτη +- θύρα +- ID κόμβου +- λίστα με τα υποστηριζόμενα υπό πρωτόκολλα + +Αυτές είναι οι πληροφορίες που απαιτούνται για μια επιτυχημένη αλληλεπίδραση, καθώς ορίζουν ποιες δυνατότητες μοιράζονται μεταξύ των δύο κόμβων και ρυθμίζουν την επικοινωνία. Υπάρχει μια διαδικασία διαπραγμάτευσης υπο-πρωτοκόλλου όπου συγκρίνονται οι λίστες των υπο-πρωτοκόλλων που υποστηρίζονται από κάθε κόμβο και αυτά που είναι κοινά και στους δύο κόμβους και μπορούν να χρησιμοποιηθούν στη συνεδρία. + +Μαζί με τα μηνύματα hello, το πρωτόκολλο καλωδίωσης μπορεί επίσης να στείλει ένα μήνυμα "αποσύνδεσης" που δίνει προειδοποίηση σε έναν ομότιμο ότι η σύνδεση θα τερματιστεί. Το πρωτόκολλο καλωδίωσης περιλαμβάνει επίσης μηνύματα PING και PONG που αποστέλλονται περιοδικά για να διατηρηθεί ανοιχτή μια συνεδρία. Οι ανταλλαγές πρωτοκόλλου RLPx και καλωδίωσης επομένως δημιουργούν τις βάσεις της επικοινωνίας μεταξύ κόμβων, παρέχοντας τη δυνατότητα για ανταλλαγή χρήσιμων πληροφοριών σύμφωνα με ένα συγκεκριμένο υπο-πρωτόκολλο. + +### Δευτερεύοντα πρωτόκολλα {#sub-protocols} + +#### Το πρωτόκολλο Wire {#wire-protocol} + +Μόλις συνδεθούν οι ομότιμοι και ξεκινήσει μια συνεδρία RLPx, το πρωτόκολλο καλωδίωσης ορίζει τον τρόπο επικοινωνίας τους. Αρχικά, το πρωτόκολλο καλωδίωσης ορίζει τρεις κύριες εργασίες: τον συγχρονισμό αλυσίδας, τη διάδοση μπλοκ και την ανταλλαγή συναλλαγών. Ωστόσο, μόλις το Ethereum άλλαξε σε απόδειξη συμμετοχής, η διάδοση μπλοκ και ο συγχρονισμός αλυσίδας έγιναν μέρος του επιπέδου συναίνεσης. Η ανταλλαγή συναλλαγών εξακολουθεί να εμπίπτει στην αρμοδιότητα των πελατών εκτέλεσης. Η ανταλλαγή συναλλαγών αναφέρεται στην ανταλλαγή εκκρεμών συναλλαγών μεταξύ κόμβων, ώστε οι κατασκευαστές μπλοκ να μπορούν να επιλέξουν μερικές από αυτές για συμπερίληψη στο επόμενο μπλοκ. Λεπτομερείς πληροφορίες σχετικά με αυτές τις εργασίες είναι διαθέσιμες [εδώ](https://github.com/ethereum/devp2p/blob/master/caps/eth.md). Οι πελάτες που υποστηρίζουν αυτά τα υπο-πρωτόκολλα τα εκθέτουν μέσω του [JSON-RPC](/developers/docs/apis/json-rpc/). + +#### les (light ethereum subprotocol) {#les} + +Αυτό είναι ένα ελάχιστο πρωτόκολλο για το συγχρονισμό πελατών μικρού μεγέθους. Παραδοσιακά, αυτό το πρωτόκολλο έχει χρησιμοποιηθεί σπάνια επειδή απαιτούνται πλήρεις κόμβοι για να εξυπηρετήσουν δεδομένα σε πελάτες μικρού μεγέθους χωρίς να παρέχεται κίνητρο. Η προεπιλεγμένη συμπεριφορά των πελατών εκτέλεσης είναι να μην εξυπηρετούν δεδομένα ελαφρού πελάτη μέσω του les. Περισσότερες πληροφορίες είναι διαθέσιμες στις προδιαγραφές les [spec](https://github.com/ethereum/devp2p/blob/master/caps/les.md). + +#### Snap {#snap} + +Το [πρωτόκολλο snap](https://github.com/ethereum/devp2p/blob/master/caps/snap.md#ethereum-snapshot-protocol-snap) είναι μια προαιρετική επέκταση που επιτρέπει στους ομότιμους να ανταλλάσσουν στιγμιότυπα πρόσφατων καταστάσεων, επιτρέποντας στους ομότιμους να επαληθεύουν δεδομένα λογαριασμού και αποθήκευσης χωρίς να χρειάζεται να κατεβάσουν ενδιάμεσους κόμβους Merkle trie. + +#### Wit (πρωτόκολλο μάρτυρα) {#wit} + +Το [πρωτόκολλο μάρτυρα](https://github.com/ethereum/devp2p/blob/master/caps/wit.md#ethereum-witness-protocol-wit) είναι μια προαιρετική επέκταση που επιτρέπει την ανταλλαγή μαρτύρων κατάστασης μεταξύ ομότιμων, βοηθώντας στο συγχρονισμό των πελατών στην κορυφή της αλυσίδας. + +#### Whisper {#whisper} + +Το Whisper ήταν ένα πρωτόκολλο που στοχεύει στην παροχή ασφαλούς ανταλλαγής μηνυμάτων μεταξύ ομότιμων χωρίς να γράφει καμία πληροφορία στην αλυσίδα μπλοκ. Ήταν μέρος του πρωτοκόλλου καλωδίωσης DevP2P αλλά τώρα έχει καταργηθεί. Υπάρχουν άλλα [σχετικά έργα](https://wakunetwork.com/) με παρόμοιους στόχους. + +## Το επίπεδο συναίνεσης {#consensus-layer} + +Οι πελάτες συναίνεσης συμμετέχουν σε ένα ξεχωριστό δίκτυο ομότιμων με διαφορετικές προδιαγραφές. Οι πελάτες συναίνεσης πρέπει να συμμετέχουν στη διάδοση μπλοκ ώστε να μπορούν να λαμβάνουν νέα μπλοκ από ομότιμους και να τα μεταδίδουν όταν είναι η σειρά τους ως προτείνων μπλοκ. Παρόμοια με το επίπεδο εκτέλεσης, αυτό απαιτεί πρώτα ένα πρωτόκολλο ανακάλυψης ώστε ένας κόμβος να μπορεί να βρει ομότιμους και να δημιουργήσει ασφαλείς συνεδρίες για ανταλλαγή μπλοκ, πιστοποιήσεων κ.λπ. + +### Εξερεύνηση {#consensus-discovery} + +Παρόμοια με τους πελάτες εκτέλεσης, οι πελάτες συναίνεσης χρησιμοποιούν το [discv5](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-discovery-domain-discv5) μέσω UDP για την εύρεση ομότιμων κόμβων. Η υλοποίηση του discv5 στο επίπεδο συναίνεσης διαφέρει από αυτή των πελατών εκτέλεσης μόνο στο ότι περιλαμβάνει έναν προσαρμογέα που συνδέει το discv5 σε μια στοίβα [libP2P](https://libp2p.io/), καταργώντας το DevP2P. Οι συνεδρίες RLPx του επιπέδου εκτέλεσης καταργούνται υπέρ του ασφαλούς χειρισμού καναλιού θορύβου του libP2P. + +### ENRs {#consensus-enr} + +Το ENR για τους κόμβους συναίνεσης περιλαμβάνει το δημόσιο κλειδί του κόμβου, τη διεύθυνση IP, τις θύρες UDP και TCP και δύο πεδία συγκεκριμένα για τη συναίνεση: το bitfield υποδικτύου απόδειξης και το κλειδί `eth2`. Το πρώτο διευκολύνει τους κόμβους να βρίσκουν ομότιμους κόμβους που συμμετέχουν σε συγκεκριμένα υποδίκτυα ενημέρωσης. Το κλειδί `eth2` περιέχει πληροφορίες σχετικά με την έκδοση της αναβάθμισης Ethereum που χρησιμοποιεί ο κόμβος, εξασφαλίζοντας ότι οι ομότιμοι συνδέονται με το σωστό Ethereum. + +### libP2P {#libp2p} + +Η στοίβα libP2P υποστηρίζει όλες τις επικοινωνίες μετά την ανακάλυψη. Οι πελάτες μπορούν να καλούν και να ακούν σε IPv4 και/ή IPv6 όπως ορίζεται στο ENR τους. Τα πρωτόκολλα στο επίπεδο libP2P μπορούν να υποδιαιρεθούν στους τομείς ενημέρωσης και req/resp. + +### Gossip {#gossip} + +Ο τομέας ενημέρωσης περιλαμβάνει όλες τις πληροφορίες που πρέπει να εξαπλωθούν γρήγορα σε όλο το δίκτυο. Αυτό περιλαμβάνει beacon μπλοκ, αποδείξεις, πιστοποιήσεις, εξόδους και περικοπές. Αυτό μεταδίδεται χρησιμοποιώντας το libP2P gossipsub v1 και βασίζεται σε διάφορα μεταδεδομένα που αποθηκεύονται τοπικά σε κάθε κόμβο, συμπεριλαμβανομένου του μέγιστου μεγέθους των φορτίων ενημέρωσης για λήψη και μετάδοση. Λεπτομερείς πληροφορίες σχετικά με τον τομέα ενημέρωσης είναι διαθέσιμες [εδώ](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#the-gossip-domain-gossipsub). + +### Αίτηση-Απάντηση {#request-response} + +Ο τομέας αίτησης-απάντησης περιέχει πρωτόκολλα για πελάτες που ζητούν συγκεκριμένες πληροφορίες από τους ομότιμούς τους. Παραδείγματα περιλαμβάνουν τη ζήτηση συγκεκριμένων μπλοκ Beacon που ταιριάζουν με συγκεκριμένες ρίζες hash ή μέσα σε ένα εύρος διαστημάτων. Οι απαντήσεις επιστρέφονται πάντα ως συμπιεσμένα με snappy bytes κωδικοποιημένα SSZ. + +## Γιατί ο πελάτης συναίνεσης προτιμά το SSZ από το RLP; {#ssz-vs-rlp} + +Το SSZ σημαίνει απλή σειριοποίηση. Χρησιμοποιεί σταθερές μετατοπίσεις που διευκολύνουν την αποκωδικοποίηση μεμονωμένων τμημάτων ενός κωδικοποιημένου μηνύματος χωρίς να χρειάζεται να αποκωδικοποιηθεί ολόκληρη η δομή, κάτι που είναι πολύ χρήσιμο για τον πελάτη συναίνεσης καθώς μπορεί να αρπάξει αποτελεσματικά συγκεκριμένα κομμάτια πληροφοριών από κωδικοποιημένα μηνύματα. Είναι επίσης σχεδιασμένο ειδικά για να ενσωματωθεί με πρωτόκολλα Merkle, με σχετικές αποδόσεις για τη Merkleization. Δεδομένου ότι όλες οι κατακερματισμοί στο επίπεδο συναίνεσης είναι ρίζες Merkle, αυτό οδηγεί σε μια σημαντική βελτίωση. Το SSZ εγγυάται επίσης μοναδικές αναπαραστάσεις τιμών. + +## Σύνδεση του πελάτη εκτέλεσης και του πελάτη συναίνεσης {#connecting-clients} + +Τόσο ο πελάτης συναίνεσης όσο και ο πελάτης εκτέλεσης εκτελούνται παράλληλα. Πρέπει να συνδεθούν ώστε ο πελάτης συναίνεσης να μπορεί να παρέχει οδηγίες στον πελάτη εκτέλεσης και ο πελάτης εκτέλεσης να μπορεί να μεταβιβάσει δεσμίδες συναλλαγών στον πελάτη συναίνεσης για συμπερίληψη σε μπλοκ Beacon. Η επικοινωνία μεταξύ των δύο πελατών μπορεί να επιτευχθεί χρησιμοποιώντας μια τοπική σύνδεση RPC. Ένα API γνωστό ως ['Engine-API'](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md) ορίζει τις οδηγίες που αποστέλλονται μεταξύ των δύο πελατών. Δεδομένου ότι και οι δύο πελάτες βρίσκονται πίσω από μια ενιαία ταυτότητα δικτύου, μοιράζονται ένα ENR (Ethereum node record) το οποίο περιέχει ένα ξεχωριστό κλειδί για κάθε πελάτη (κλειδί eth1 και κλειδί eth2). + +Μια περίληψη της ροής ελέγχου παρουσιάζεται παρακάτω, με τη σχετική στοίβα δικτύωσης σε παρένθεση. + +### Όταν ο πελάτης consensus δεν είναι παραγωγός μπλοκ: {#when-consensus-client-is-not-block-producer} + +- Ο πελάτης consensus λαμβάνει ένα μπλοκ μέσω του πρωτοκόλλου ανταλλαγής κουτσομπολιού μπλοκ (consensus p2p). +- Ο πελάτης consensus προ-επαληθεύει το μπλοκ, δηλαδή διασφαλίζει ότι έφτασε από έναν έγκυρο αποστολέα με σωστά μεταδεδομένα. +- Οι συναλλαγές στο μπλοκ αποστέλλονται στο επίπεδο εκτέλεσης ως ωφέλιμο φορτίο εκτέλεσης (τοπική σύνδεση RPC). +- Το επίπεδο εκτέλεσης εκτελεί τις συναλλαγές και επικυρώνει την κατάσταση στον επικεφαλίδα του μπλοκ (δηλ. ελέγχει αν τα hash ταιριάζουν). +- Το επίπεδο εκτέλεσης διαβιβάζει τα δεδομένα επικύρωσης πίσω στο επίπεδο consensus, το μπλοκ θεωρείται πλέον επικυρωμένο (τοπική σύνδεση RPC). +- Το επίπεδο consensus προσθέτει το μπλοκ στην κορυφή του δικού του blockchain και το πιστοποιεί, μεταδίδοντας την πιστοποίηση μέσω του δικτύου (consensus p2p). + +### Όταν ο πελάτης συναίνεσης είναι παραγωγός μπλοκ: {#when-consensus-client-is-block-producer} + +- Ο πελάτης consensus λαμβάνει ειδοποίηση ότι είναι ο επόμενος παραγωγός μπλοκ (consensus p2p). +- Το επίπεδο consensus καλεί τη μέθοδο `create block` στον πελάτη εκτέλεσης (τοπική RPC). +- Το επίπεδο εκτέλεσης αποκτά πρόσβαση στο mempool συναλλαγών που έχει συμπληρωθεί από το πρωτόκολλο ανταλλαγής κουτσομπολιού συναλλαγών (εκτέλεση p2p). +- Ο πελάτης εκτέλεσης ομαδοποιεί τις συναλλαγές σε ένα μπλοκ, εκτελεί τις συναλλαγές και δημιουργεί ένα hash μπλοκ. +- Ο πελάτης consensus λαμβάνει τις συναλλαγές και το hash μπλοκ από τον πελάτη εκτέλεσης και τα προσθέτει στο μπλοκ beacon (τοπική RPC). +- Ο πελάτης consensus μεταδίδει το μπλοκ μέσω του πρωτοκόλλου ανταλλαγής κουτσομπολιού μπλοκ (consensus p2p). +- Άλλοι πελάτες λαμβάνουν το προτεινόμενο μπλοκ μέσω του πρωτοκόλλου ανταλλαγής κουτσομπολιού μπλοκ και το επικυρώνουν όπως περιγράφεται παραπάνω (consensus p2p). + +Μόλις το μπλοκ πιστοποιηθεί από αρκετούς επικυρωτές, προστίθεται στην κορυφή της αλυσίδας, δικαιολογείται και τελικά οριστικοποιείται. + +![](cons_client_net_layer.png) ![](exe_client_net_layer.png) + +Σχέδιο δικτύου για πελάτες consensus και εκτέλεσης, από το [ethresear.ch](https://ethresear.ch/t/eth1-eth2-client-relationship/7248). + +## Περισσότερες πληροφορίες {#further-reading} + +[DevP2P](https://github.com/ethereum/devp2p) [LibP2p](https://github.com/libp2p/specs) [Προδιαγραφές επιπέδου συναίνεσης δικτύου](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure) [kademlia στο discv5](https://vac.dev/kademlia-to-discv5) [τεκμηρίωση kademlia](https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf) [εισαγωγή στο Ethereum p2p](https://p2p.paris/en/talks/intro-ethereum-networking/) [σχέσεις eth1/eth2](http://ethresear.ch/t/eth1-eth2-client-relationship/7248) [βίντεο με λεπτομέρειες πελάτη της συγχώνευσης και eth2](https://www.youtube.com/watch?v=zNIrIninMgg) diff --git a/public/content/translations/el/developers/docs/networking-layer/network-addresses/index.md b/public/content/translations/el/developers/docs/networking-layer/network-addresses/index.md new file mode 100644 index 00000000000..8eac5f715e0 --- /dev/null +++ b/public/content/translations/el/developers/docs/networking-layer/network-addresses/index.md @@ -0,0 +1,40 @@ +--- +title: Διευθύνσεις δικτύου +description: Μια εισαγωγή στις διευθύνσεις δικτύου. +lang: el +sidebarDepth: 2 +--- + +Οι κόμβοι του Ethereum πρέπει να αναγνωρίζονται μεταξύ τους με κάποιες βασικές πληροφορίες, για να συνδεθούν με τους χρήστες. Για να διασφαλιστεί ότι οποιαδήποτε εφαρμογή χρήστη μπορεί να ερμηνεύσει αυτές τις πληροφορίες, μεταδίδεται σε μία από τις τρεις τυποποιημένες μορφές που μπορεί να καταλάβει ένας κόμβος Ethereum: multiaddr, enode ή Ethereum Node Records (ENRs). Οι ENR είναι το τρέχον πρότυπο για τις διευθύνσεις του δικτύου Ethereum. + +## Προαπαιτούμενα {#prerequisites} + +Απαιτείται η κατανόηση του [επιπέδου δικτύωσης](/developers/docs/networking-layer/) του Ethereum, για να κατανοήσουμε αυτή τη σελίδα. + +## Multiaddr {#multiaddr} + +Η αρχική μορφή διεύθυνσης κόμβου Ethereum ήταν η «multiaddr» (συντόμευση του «multi-addresses»). Το «Multiaddr» είναι μια γενική μορφή σχεδιασμένη για ομότιμα δίκτυα. Οι διευθύνσεις αναπαρίστανται ως ζεύγη τιμής-κλειδιού με κλειδιά και τιμές διαχωρισμένες με μια κάθετο προς τα εμπρός. Για παράδειγμα, το «multiaddr» για έναν κόμβο με διεύθυνση IPv4 `192.168.22.27` στη θύρα TCP `33000` συντάσσεται ως: + +`/ip4/192.168.22.27/tcp/33000` + +Για έναν κόμβο Ethereum, το «multiaddr» περιέχει το «node-ID» (ένα αναγνωριστικό του δημόσιου κλειδιού τους): + +`/ip4/192.168.22.27/tcp/33000/p2p/5t7Nv7dG2d6ffbvAiewVsEwWweU3LdebSqX2y1bPrW8br` + +## Enode {#enode} + +Ένα «enode» είναι ένας τρόπος για να αναγνωρίσετε έναν κόμβο Ethereum χρησιμοποιώντας μια μορφή διεύθυνσης URL. Το δεκαεξαδικό αναγνωριστικό κόμβου (node-ID) κωδικοποιείται στο τμήμα ονόματος χρήστη της διεύθυνσης URL που διαχωρίζεται από τον κεντρικό υπολογιστή χρησιμοποιώντας ένα σύμβολο «@». Το όνομα υπολογιστή μπορεί να δοθεί μόνο ως διεύθυνση IP. Τα ονόματα DNS δεν επιτρέπονται. Η θύρα στην ενότητα όνομα υπολογιστή είναι η θύρα ακρόασης TCP. Εάν οι θύρες TCP και UDP (ανακάλυψης) διαφέρουν, η θύρα UDP καθορίζεται ως παράμετρος ερωτήματος "discport". + +Στο παρακάτω παράδειγμα, η διεύθυνση URL του κόμβου περιγράφει έναν κόμβο με διεύθυνση IP `10.3.58.`, τη θύρα TCP `30303` και τη θύρα εξεύρεσης UDP `30301`. + +`enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@10.3.58.6:30303?discport=30301` + +## Εγγραφές Κόμβων Ethereum (ENRs) {#enr} + +Οι εγγραφές κόμβων Ethereum (ENRs) είναι μια τυποποιημένη μορφή για διευθύνσεις δικτύου στο Ethereum. Υπερισχύουν τις multiaddr και τα enodes. Είναι ιδιαίτερα χρήσιμα επειδή επιτρέπουν μεγαλύτερη ανταλλαγή πληροφοριών μεταξύ των κόμβων. Το ENR περιέχει μια υπογραφή, έναν αύξοντα αριθμό και πεδία που περιγράφουν λεπτομερώς το σύστημα ταυτότητας, που χρησιμοποιείται για τη δημιουργία και την επικύρωση των υπογραφών. Το ENR μπορεί επίσης να συμπληρωθεί με αυθαίρετα δεδομένα που οργανώνονται ως ζεύγη κλειδιού-τιμής. Αυτά τα ζεύγη τιμής-κλειδιού περιέχουν τη διεύθυνση IP του κόμβου και πληροφορίες σχετικά με τα υπο-πρωτόκολλα που μπορεί να χρησιμοποιήσει ο κόμβος. Οι εφαρμογές πελάτη συναίνεσης χρησιμοποιούν μια [συγκεκριμένη δομή ENR](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#enr-structure) για να αναγνωρίσουν τους βασικούς κόμβους και περιλαμβάνουν επίσης ένα πεδίο `eth2` που περιέχει πληροφορίες σχετικά με τις τρέχουσες αναβαθμίσεις του Ethereum και το υποδίκτυο βεβαίωσης επικοινωνίας (αυτό συνδέει τον κόμβο με ένα συγκεκριμένο σύνολο ομότιμων των οποίων οι βεβαιώσεις συγκεντρώνονται μαζί). + +## Περισσότερες πληροφορίες {#further-reading} + +- [EIP-778: Εγγραφές Κόμβων Ethereum (ENRs)](https://eips.ethereum.org/EIPS/eip-778) +- [Διευθύνσεις δικτύου στο Ethereum](https://dean.eigenmann.me/blog/2020/01/21/network-addresses-in-ethereum/) +- [LibP2P: Multiaddr-Enode-ENR?!](https://consensys.net/diligence/blog/2020/09/libp2p-multiaddr-enode-enr/) diff --git a/public/content/translations/el/developers/docs/networking-layer/portal-network/index.md b/public/content/translations/el/developers/docs/networking-layer/portal-network/index.md new file mode 100644 index 00000000000..c3de39b0e92 --- /dev/null +++ b/public/content/translations/el/developers/docs/networking-layer/portal-network/index.md @@ -0,0 +1,89 @@ +--- +title: Το δίκτυο Portal +description: Μια επισκόπηση του Δικτύου Portal - ενός δικτύου υπό ανάπτυξη που έχει σχεδιαστεί για την υποστήριξη πελατών χαμηλών πόρων. +lang: el +--- + +Το Ethereum είναι ένα δίκτυο που αποτελείται από υπολογιστές που εκτελούν το λογισμικό πελάτη Ethereum. Καθένας από αυτούς τους υπολογιστές ονομάζεται «κόμβος». Το λογισμικό εκτέλεσης επιτρέπει σε έναν κόμβο να στέλνει και να λαμβάνει δεδομένα στο δίκτυο Ethereum και επαληθεύει δεδομένα σύμφωνα με τους κανόνες του πρωτοκόλλου Ethereum. Οι κόμβοι διατηρούν πολλά ιστορικά δεδομένα στον αποθηκευτικό χώρο του δίσκου τους και προσθέτουν σε αυτά νέα πακέτα πληροφοριών, γνωστά ως μπλοκ, από άλλους κόμβους του δικτύου. Αυτό είναι απαραίτητο για να ελέγχεται πάντα ότι ένας κόμβος έχει πληροφορίες συνεπής με το υπόλοιπο δίκτυο. Αυτό σημαίνει ότι η εκτέλεση ενός κόμβου μπορεί να απαιτεί πολύ χώρο στο δίσκο. Ορισμένες λειτουργίες κόμβου μπορεί να απαιτούν αρκετή χρήση μνήμης RAM. + +Για να ξεπεραστεί αυτό το πρόβλημα αποθηκευτικού χώρου στο δίσκο, έχουν αναπτυχθεί «ελαφροί» κόμβοι που ζητούν πληροφορίες από πλήρεις κόμβους αντί να τις αποθηκεύουν όλες οι ίδιοι. Ωστόσο, αυτό σημαίνει ότι ο ελαφρύς κόμβος δεν επαληθεύει ανεξάρτητα τις πληροφορίες και εμπιστεύεται έναν άλλο κόμβο. Σημαίνει επίσης ότι οι πλήρεις κόμβοι πρέπει να αναλάβουν επιπλέον εργασία για την εξυπηρέτηση αυτών των ελαφρών κόμβων. + +Το Δίκτυο Portal είναι ένας νέος σχεδιασμός δικτύωσης για το Ethereum που στοχεύει να λύσει το πρόβλημα διαθεσιμότητας δεδομένων για «ελαφρούς» κόμβους χωρίς να χρειάζεται να εμπιστευόμαστε ή να επιβαρύνουμε τους πλήρεις κόμβους, μοιράζοντας τα απαραίτητα δεδομένα σε μικρά κομμάτια στο δίκτυο. + +Περισσότερα για [κόμβους και πελάτες](/developers/docs/nodes-and-clients/) + +## Γιατί χρειαζόμαστε το Δίκτυο Portal {#why-do-we-need-portal-network} + +Οι κόμβοι Ethereum αποθηκεύουν το δικό τους πλήρες ή μερικό αντίγραφο του Ethereum blockchain. Αυτό το τοπικό αντίγραφο χρησιμοποιείται για την επικύρωση συναλλαγών και τη διασφάλιση ότι ο κόμβος ακολουθεί τη σωστή αλυσίδα. Αυτά τα τοπικά αποθηκευμένα δεδομένα επιτρέπουν στους κόμβους να επαληθεύουν ανεξάρτητα ότι τα εισερχόμενα δεδομένα είναι έγκυρα και σωστά χωρίς να χρειάζεται να εμπιστεύονται οποιαδήποτε άλλη οντότητα. + +Αυτό το τοπικό αντίγραφο του blockchain και των σχετικών δεδομένων κατάστασης και παραλαβής καταλαμβάνει πολύ χώρο στον σκληρό δίσκο του κόμβου. Για παράδειγμα, ένας σκληρός δίσκος 2TΒ συνιστάται για την εκτέλεση ενός κόμβου χρησιμοποιώντας το [Geth](https://geth.ethereum.org) σε συνδυασμό με έναν πελάτη συναίνεσης. Χρησιμοποιώντας "snap sync", το οποίο αποθηκεύει μόνο δεδομένα αλυσίδας από ένα σχετικά πρόσφατο σύνολο μπλοκ, το Geth καταλαμβάνει συνήθως περίπου 650GB χώρου στο δίσκο, αλλά αυξάνεται περίπου στα 14GB/εβδομάδα (μπορείτε να περικόψετε τον κόμβο στα 650GB περιοδικά). + +Αυτό σημαίνει ότι η εκτέλεση κόμβων μπορεί να είναι ακριβή, επειδή ένας μεγάλος χώρος στο δίσκο πρέπει να αφιερωθεί στο Ethereum. Υπάρχουν μερικές λύσεις για αυτό το πρόβλημα στον οδικό χάρτη του Ethereum, συμπεριλαμβανομένων των [history expiry](/roadmap/statelessness/#history-expiry), [state expiry](/roadmap/statelessness/#state-expiry) και [statelessness](/roadmap/statelessness/). Ωστόσο, είναι πιθανό να απέχουν αρκετά χρόνια από την εφαρμογή τους. Υπάρχουν επίσης [ελαφροί κόμβοι](/developers/docs/nodes-and-clients/light-clients/) που δεν αποθηκεύουν το δικό τους αντίγραφο των δεδομένων της αλυσίδας, έτσι ζητούν τα δεδομένα που χρειάζονται από πλήρεις κόμβους. Ωστόσο, αυτό σημαίνει ότι οι ελαφροί κόμβοι πρέπει να εμπιστεύονται τους πλήρεις κόμβους για να παρέχουν ειλικρινή δεδομένα και επίσης τονίζει τους πλήρεις κόμβους που πρέπει να εξυπηρετούν τα δεδομένα που χρειάζονται οι ελαφροί κόμβοι. + +Το Δίκτυο Portal στοχεύει να παρέχει έναν εναλλακτικό τρόπο για τους ελαφρούς κόμβους να λαμβάνουν τα δεδομένα τους που δεν απαιτεί εμπιστοσύνη ή σημαντική προσθήκη στην εργασία που πρέπει να γίνει από τους πλήρεις κόμβους. Ο τρόπος με τον οποίο θα γίνει αυτό είναι να συσταθεί ένας νέος τρόπος για τους κόμβους Ethereum να μοιράζονται δεδομένα σε όλο το δίκτυο. + +## Πώς λειτουργεί το Δίκτυο Portal; {#how-does-portal-network-work} + +Οι κόμβοι Ethereum έχουν αυστηρά πρωτόκολλα που καθορίζουν τον τρόπο επικοινωνίας μεταξύ τους. Οι πελάτες εκτέλεσης επικοινωνούν χρησιμοποιώντας ένα σύνολο υπό πρωτοκόλλων γνωστών ως [DevP2P](/developers/docs/networking-layer/#devp2p), ενώ οι πελάτες συναίνεσης χρησιμοποιούν μια διαφορετική στοίβα υπό πρωτοκόλλων που ονομάζεται [libP2P](/developers/docs/networking-layer/#libp2p). Αυτά ορίζουν τους τύπους δεδομένων που μπορούν να διαβιβαστούν μεταξύ των κόμβων. + +![devP2P και libP2P](portal-network-devp2p-libp2p.png) + +Οι κόμβοι μπορούν επίσης να εξυπηρετούν συγκεκριμένα δεδομένα μέσω του [JSON-RPC API](/developers/docs/apis/json-rpc/), με τον οποίο οι εφαρμογές και τα πορτοφόλια ανταλλάσσουν πληροφορίες με κόμβους Ethereum. Ωστόσο, κανένα από αυτά δεν είναι ιδανικά πρωτόκολλα για την εξυπηρέτηση δεδομένων σε ελαφρούς πελάτες. + +Οι ελαφροί πελάτες δεν μπορούν αυτή τη στιγμή να ζητήσουν συγκεκριμένα κομμάτια δεδομένων αλυσίδας μέσω DevP2P ή libP2p επειδή αυτά τα πρωτόκολλα έχουν σχεδιαστεί μόνο για να επιτρέπουν τον συγχρονισμό αλυσίδας και τη διάδοση μπλοκ και συναλλαγών. Οι πελάτες μικρού μεγέθους δε θέλουν να κατεβάσουν αυτές τις πληροφορίες επειδή αυτό θα τους εμπόδιζε να είναι "μικροί". + +Το API JSON-RPC δεν είναι μια ιδανική επιλογή για αιτήματα δεδομένων ελαφρών πελατών, επειδή βασίζεται σε μια σύνδεση με έναν συγκεκριμένο πλήρη κόμβο ή κεντρικό πάροχο RPC που μπορεί να εξυπηρετήσει τα δεδομένα. Αυτό σημαίνει ότι ο ελαφρύς πελάτης πρέπει να εμπιστεύεται ότι ο συγκεκριμένος κόμβος/πάροχος είναι ειλικρινής και επίσης ο πλήρης κόμβος μπορεί να χρειαστεί να χειριστεί πολλά αιτήματα από πολλούς ελαφρούς πελάτες, αυξάνοντας τις απαιτήσεις του σε εύρος ζώνης. + +Το σημείο του Portal Network είναι να επανασχεδιάσει ολόκληρη τη σχεδίαση, κατασκευάζοντας ειδικά για ελαφρότητα, εκτός των περιορισμών σχεδιασμού των υπαρχόντων πελατών Ethereum. + +Η βασική ιδέα του Portal Network είναι να λάβει τα καλύτερα κομμάτια της τρέχουσας στοίβας δικτύωσης επιτρέποντας πληροφορίες που χρειάζονται οι ελαφροί πελάτες, όπως τα ιστορικά δεδομένα και η ταυτότητα της τρέχουσας κεφαλής της αλυσίδας, να εξυπηρετούνται μέσω ενός ελαφρού δικτύου peer-to-peer τύπου DevP2P χρησιμοποιώντας ένα [DHT](https://en.wikipedia.org/wiki/Distributed_hash_table) (παρόμοιο με το Bittorrent). + +Η ιδέα είναι να προστεθούν μικρά μέρη των συνολικών ιστορικών δεδομένων Ethereum και ορισμένες συγκεκριμένες ευθύνες κόμβου σε κάθε κόμβο. Στη συνέχεια, τα αιτήματα εξυπηρετούνται αναζητώντας τους κόμβους που αποθηκεύουν τα συγκεκριμένα δεδομένα που ζητήθηκαν και ανακτώντας τα από αυτούς. + +Αυτό αντιστρέφει το κανονικό μοντέλο των ελαφρών κόμβων που βρίσκουν έναν μόνο κόμβο και τους ζητούν να φιλτράρουν και να εξυπηρετούν μεγάλους όγκους δεδομένων. Αντίθετα, φιλτράρουν γρήγορα ένα μεγάλο δίκτυο κόμβων που ο καθένας χειρίζεται μικρές ποσότητες δεδομένων. + +Ο στόχος είναι να επιτραπεί σε ένα αποκεντρωμένο δίκτυο ελαφρών πελατών του Portal να: + +- Παρακολουθεί την αρχή της αλυσίδας. +- Συγχρονίζει τα πρόσφατα και ιστορικά δεδομένα αλυσίδας. +- Λαμβάνει τα δεδομένα κατάστασης. +- Μεταδίδει συναλλαγές. +- Εκτελεί συναλλαγές χρησιμοποιώντας την [EVM](/developers/docs/evm/). + +Τα πλεονεκτήματα αυτού του σχεδιασμού δικτύου είναι: + +- Μείωση της εξάρτησης από κεντρικούς παρόχους +- Μείωση χρήσης εύρους διαδικτύου +- Ελαχιστοποίηση ή μηδενικός συγχρονισμός +- Προσβάσιμο σε συσκευές με περιορισμένους πόρους (\<1 GB RAM, \<100 MB χώρος δίσκου, 1 CPU) + +Το παρακάτω διάγραμμα δείχνει τις λειτουργίες των υπάρχοντων πελατών που μπορούν να παραδοθούν από το Δίκτυο Πύλης, επιτρέποντας στους χρήστες να έχουν πρόσβαση σε αυτές τις λειτουργίες σε συσκευές πολύ χαμηλών πόρων. + +### Το δίκτυο Portal + +| Ελαφρύς πελάτης Beacon | Κατάσταση δικτύου | Ενημέρωση συναλλαγής | Δίκτυο ιστορικού | +| ---------------------- | ---------------------------------------------- | --------------------- | ---------------- | +| Beacon chain light | Αποθηκευτικός χώρος λογαριασμού και συμβολαίου | Μικρό μέγεθος mempool | Επικεφαλίδες | +| Δεδομένα πρωτοκόλλου | | | Κορμός μπλοκ | +| | | | Αποδείξεις | + +## Ποικιλομορφία Πελατών από προεπιλογή {#client-diversity-as-default} + +Οι προγραμματιστές του Δικτύου Portal έκαναν επίσης την επιλογή σχεδιασμού να κατασκευάσουν τρεις ξεχωριστούς πελάτες Δικτύου Portal από την πρώτη ημέρα. + +Οι πελάτες του Δικτύου Portal είναι: + +- [Trin](https://github.com/ethereum/trin): γραμμένο σε Rust +- [Fluffy](https://nimbus.team/docs/fluffy.html): γραμμένο σε Nim +- [Ultralight](https://github.com/ethereumjs/ultralight): γραμμένο σε Typescript +- [Shisui](https://github.com/optimism-java/shisui): γραμμένο σε Go + +Η ύπαρξη πολλαπλών ανεξάρτητων υλοποιήσεων πελατών ενισχύει την ανθεκτικότητα και την αποκέντρωση του δικτύου Ethereum. + +Εάν ένας πελάτης αντιμετωπίζει προβλήματα ή ευπάθειες, άλλοι πελάτες μπορούν να συνεχίσουν να λειτουργούν ομαλά, αποτρέποντας ένα ενιαίο σημείο αποτυχίας. Επιπλέον, οι διαφορετικές υλοποιήσεις πελατών ενθαρρύνουν την καινοτομία και τον ανταγωνισμό, οδηγώντας σε βελτιώσεις και μειώνοντας τον κίνδυνο μονοκαλλιέργειας μέσα στο οικοσύστημα. + +## Περισσότερες πληροφορίες {#further-reading} + +- [Το Δίκτυο Portal (Piper Merriam στο Devcon Bogota)](https://www.youtube.com/watch?v=0stc9jnQLXA). +- [Το Discord του Δικτύου Portal](https://discord.gg/CFFnmE7Hbs) +- [Ο ιστότοπος του Δικτύου Portal](https://www.ethportal.net/) diff --git a/public/content/translations/el/developers/docs/networks/index.md b/public/content/translations/el/developers/docs/networks/index.md index 69718a5cca4..d0c300cd779 100644 --- a/public/content/translations/el/developers/docs/networks/index.md +++ b/public/content/translations/el/developers/docs/networks/index.md @@ -34,15 +34,11 @@ lang: el #### Ποιo δοκιμαστικό δίκτυο να χρησιμοποιήσω; -Τα δύο δημόσια δοκιμαστικά δίκτυα που διατηρούν επί του παρόντος οι προγραμματιστές είναι το Sepolia και το Goerli. Το Sepolia είναι ένα δίκτυο ώστε οι προγραμματιστές συμβολαίων και εφαρμογών να δοκιμάζουν τις εφαρμογές τους. Το δίκτυο Goerli επιτρέπει στους προγραμματιστές πρωτοκόλλων να δοκιμάζουν τις αναβαθμίσεις του δικτύου και επιτρέπει στους συμμετέχοντες να δοκιμάζουν τους επικυρωτές. +Τα δύο δημόσια δοκιμαστικά δίκτυα που διατηρούν επί του παρόντος οι προγραμματιστές είναι το Sepolia και το Hoodi. Το Sepolia είναι ένα δίκτυο ώστε οι προγραμματιστές συμβολαίων και εφαρμογών να δοκιμάζουν τις εφαρμογές τους. Το δίκτυο Hoodi επιτρέπει στους προγραμματιστές πρωτοκόλλων να δοκιμάζουν τις αναβαθμίσεις του δικτύου και επιτρέπει στους συμμετέχοντες να δοκιμάζουν τους επικυρωτές. #### Sepolia {#sepolia} -**Το Sepolia είναι το προτεινόμενο προεπιλεγμένο δοκιμαστικό δίκτυο για την ανάπτυξη εφαρμογών**. Το δίκτυο Sepolia χρησιμοποιεί ένα σύνολο επικυρωτών με άδεια. Είναι αρκετά νέο, που σημαίνει ότι η κατάσταση και η ιστορία του είναι και τα δύο αρκετά μικρά. Αυτό σημαίνει ότι το δίκτυο συγχρονίζεται γρήγορα και ότι η εκτέλεση ενός κόμβου σε αυτό απαιτεί λιγότερο χώρο αποθήκευσης. Αυτό είναι χρήσιμο για χρήστες που θέλουν να εκτελέσουν γρήγορα έναν κόμβο και να αλληλεπιδράσουν απευθείας με το δίκτυο. - -- Κλειστό σύνολο επικυρωτών, ελεγχόμενο από πελάτη & ομάδες δοκιμών -- Νέο δοκιμαστικό δίκτυο, με λιγότερες αναπτυσσόμενες εφαρμογές από άλλα δοκιμαστικά δίκτυα -- Με γρήγορο συγχρονισμό και εκτέλεση κόμβου που απαιτεί ελάχιστο χώρο στο δίσκο +**Το Sepolia είναι το προτεινόμενο προεπιλεγμένο δοκιμαστικό δίκτυο για την ανάπτυξη εφαρμογών**. Το δίκτυο Sepolia χρησιμοποιεί ένα σύνολο επικυρωτών με δικαιώματα που ελέγχεται από ομάδες πελατών και δοκιμών. ##### Πηγές @@ -54,73 +50,110 @@ lang: el ##### Faucets -- [Sepolia faucet στο QuickNode](https://faucet.quicknode.com/drip) +- [Πηγή QuickNode Sepolia](https://faucet.quicknode.com/ethereum/sepolia) - [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) +- [Πηγή PoW](https://sepolia-faucet.pk910.de/) +- [Πηγή Alchemy Sepolia](https://www.alchemy.com/faucets/ethereum-sepolia) +- [Πηγή Infura Sepolia](https://www.infura.io/faucet) +- [Πηγή Chainstack Sepolia](https://faucet.chainstack.com/sepolia-testnet-faucet) +- [Πηγή Ethereum Ecosystem](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia) +- [Πηγή Google Cloud Web3 Sepolia](https://cloud.google.com/application/web3/faucet/ethereum/sepolia) + +#### Hoodi {#hoodi} -#### Goerli _(μακροπρόθεσμη υποστήριξη)_ {#goerli} +Το Hoodi είναι ένα δοκιμαστικό δίκτυο για δοκιμές επικύρωσης και αποθήκευσης. Το δίκτυο Hoodi είναι ανοιχτό για χρήστες που θέλουν να εκτελέσουν ένα πρόγραμμα επικύρωσης δοκιμαστικού δικτύου. Επομένως, οι συμμετέχοντες που επιθυμούν να δοκιμάσουν αναβαθμίσεις πρωτοκόλλου πριν από την ανάπτυξή τους στο βασικό δίκτυο θα πρέπει να χρησιμοποιούν το Hoodi. -_Σημείωση: [το δοκιμαστικό δίκτυο 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://hoodi.ethpandaops.io/) +- [GitHub](https://github.com/eth-clients/hoodi) +- [Εξερευνητής](https://explorer.hoodi.ethpandaops.io/) +- [Συγχρονισμός σημείου αναφοράς](https://checkpoint-sync.hoodi.ethpandaops.io/) +- [Otterscan](https://hoodi.otterscan.io/) +- [Etherscan](https://hoodi.etherscan.io/) +- [Blockscout](https://hoodi.cloud.blockscout.com/) + +##### Faucets + +- [Hoodi Faucet](https://hoodi.ethpandaops.io/) +- [Πηγή PoW](https://hoodi-faucet.pk910.de/) + +#### Holesky {#holesky} + +Το δίκτυο δοκιμών Holesky θα [καταργηθεί τον Σεπτέμβριο του 2025](https://blog.ethereum.org/en/2025/03/18/hoodi-holesky). Οι πάροχοι δέσμευσης κεφαλαίου και οι πάροχοι υποδομών θα πρέπει να χρησιμοποιούν το Hoodi για δοκιμές επικύρωσης. ##### Πηγές -- [Ιστότοπος](https://goerli.net/) -- [GitHub](https://github.com/eth-clients/goerli) -- [Etherscan](https://goerli.etherscan.io) -- [Blockscout](https://eth-goerli.blockscout.com/) +- [Ιστότοπος](https://holesky.ethpandaops.io/) +- [GitHub](https://github.com/eth-clients/holesky) +- [Otterscan](https://holesky.otterscan.io/) +- [Etherscan](https://holesky.etherscan.io/) +- [Blockscout](https://eth-holesky.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) +- [Πηγή QuickNode Holesky](https://faucet.quicknode.com/ethereum/holesky) +- [Πηγή PoW](https://holesky-faucet.pk910.de/) +- [Πηγή Alchemy Holesky](https://www.alchemy.com/faucets/ethereum-holesky) +- [Πηγή Chainstack Holesky](https://faucet.chainstack.com/holesky-testnet-faucet) +- [Πηγή Ethereum Ecosystem](https://www.ethereum-ecosystem.com/faucets/ethereum-holesky) +- [Πηγή Google Cloud Web3 Holesky](https://cloud.google.com/application/web3/faucet/ethereum/holesky) -Για να εκκινήσετε έναν επικυρωτή στο δίκτυο δοκιμών Holesky, χρησιμοποιήστε την [πλατφόρμα «φτηνού επικυρωτή Holesky»](https://holesky.launchpad.ethstaker.cc/en/) του ethstaker. +Για να ξεκινήσετε έναν επικυρωτή στο Hoodi testnet, χρησιμοποιήστε το [Hoodi launchpad](https://hoodi.launchpad.ethereum.org/en/). ### Δίκτυα δοκιμών Layer 2 {#layer-2-testnets} Το [επίπεδο 2 (L2)](/layer-2/) είναι ένας συλλογικός όρος που περιγράφει ένα συγκεκριμένο σύνολο λύσεων κλιμάκωσης Ethereum. Το επίπεδο 2 είναι μια ξεχωριστή αλυσίδα συστοιχιών που επεκτείνει το Ethereum και κληρονομεί τις εγγυήσεις ασφαλείας του Ethereum. Τα δοκιμαστικά δίκτυα επιπέδου 2 είναι συνήθως στενά συνδεδεμένα με δημόσια δοκιμαστικά δίκτυα Ethereum. -#### Arbitrum Goerli {#arbitrum-goerli} +#### Arbitrum Sepolia {#arbitrum-sepolia} Ένα δίκτυο δοκιμών για το [Arbitrum](https://arbitrum.io/). +##### Πηγές + +- [Etherscan](https://sepolia.arbiscan.io/) +- [Blockscout](https://sepolia-explorer.arbitrum.io/) + ##### Faucets -- [Πάροχος Chainlink](https://faucets.chain.link/) +- [Πηγή Chainlink](https://faucets.chain.link/arbitrum-sepolia) +- [Alchemy faucet](https://www.alchemy.com/faucets/arbitrum-sepolia) +- [Πηγή QuickNode Arbitrum Sepolia](https://faucet.quicknode.com/arbitrum/sepolia) +- [Πηγή Alchemy Arbitrum Sepolia](https://www.alchemy.com/faucets/arbitrum-sepolia) +- [Πηγή Chainlink Arbitrum Sepolia](https://faucets.chain.link/arbitrum-sepolia) -#### Optimistic Goerli {#optimistic-goerli} +#### Optimistic Sepolia {#optimistic-sepolia} Ένα δίκτυο δοκιμών για το [Optimism](https://www.optimism.io/). +##### Πηγές + +- [Etherscan](https://sepolia-optimistic.etherscan.io/) +- [Blockscout](https://optimism-sepolia.blockscout.com/) + ##### Faucets -- [Paradigm faucet](https://faucet.paradigm.xyz/) -- [Coinbase Wallet Faucet | Optimism Goerli](https://coinbase.com/faucets/optimism-goerli-faucet) +- [Πηγή Chainlink](https://faucets.chain.link/optimism-sepolia) +- [Alchemy faucet](https://www.alchemy.com/faucets/optimism-sepolia) +- [Πηγές δικτύων δοκιμών](https://docs.optimism.io/builders/tools/build/faucets) -#### Starknet Goerli {#starknet-goerli} +#### Starknet Sepolia {#starknet-sepolia} Ένα δοκιμαστικό δίκτυο για το [Starknet](https://www.starknet.io). +##### Πηγές + +- [Starkscan](https://sepolia.starkscan.co/) + ##### Faucets -- [Starknet faucet](https://faucet.goerli.starknet.io) +- [Alchemy faucet](https://www.alchemy.com/faucets/starknet-sepolia) +- [Starknet faucet](https://starknet-faucet.vercel.app/) +- [Πηγή Blast Starknet Sepolia](https://blastapi.io/faucets/starknet-sepolia-eth) ## Ιδιωτικά δίκτυα {#private-networks} @@ -140,10 +173,10 @@ _Σημείωση: [το δοκιμαστικό δίκτυο Goerli έχει κ ## Σχετικά εργαλεία {#related-tools} -- Κατάλογος [Chainlist](https://chainlist.org/) _δικτύων EVM που συνδέουν πορτοφόλια και παρόχους στην κατάλληλη ταυτότητα αλυσίδας και ταυτότητα δικτύου_ -- [Αλυσίδες που βασίζονται σε EVM](https://github.com/ethereum-lists/chains) _Αποθετήριο GitHub μεταδεδομένων αλυσίδας που ενεργοποιεί το Chainlist_ +- [Chainlist](https://chainlist.org/) _λίστα δικτύων EVM για τη σύνδεση πορτοφολιών και παρόχων με το κατάλληλο Chain ID και Network ID_ +- [Αλυσίδες που βασίζονται σε 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/) +- [Πρόταση: Προβλέψιμος κύκλος ζωής Ethereum Testnet](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/oracles/index.md b/public/content/translations/el/developers/docs/oracles/index.md new file mode 100644 index 00000000000..752a6fe510d --- /dev/null +++ b/public/content/translations/el/developers/docs/oracles/index.md @@ -0,0 +1,435 @@ +--- +title: Oracle +description: Η Oracle παρέχει στα έξυπνα συμβόλαια Ethereum πρόσβαση σε δεδομένα πραγματικού κόσμου, ξεκλειδώνοντας περισσότερες περιπτώσεις χρήσης και μεγαλύτερη αξία για τους χρήστες. +lang: el +--- + +Οι oracles είναι εφαρμογές που παράγουν ροές δεδομένων εκτός αλυσίδας που καθιστούν διαθέσιμες τις εξωτερικές πηγές δεδομένων στο blockchain για έξυπνα συμβόλαια. Αυτό είναι απαραίτητο επειδή τα έξυπνα συμβόλαια που βασίζονται στο Ethereum δεν μπορούν, από προεπιλογή, να έχουν πρόσβαση σε πληροφορίες που αποθηκεύονται εκτός του δικτύου κρυπτοαλυσίδας. + +Η παροχή δυνατότητας στα έξυπνα συμβόλαια να εκτελούνται χρησιμοποιώντας δεδομένα εκτός αλυσίδας, επεκτείνει τη χρησιμότητα και την αξία των αποκεντρωμένων εφαρμογών. Για παράδειγμα, οι αγορές προβλέψεων στην αλυσίδα βασίζονται σε χρησμούς για την παροχή πληροφοριών σχετικά με αποτελέσματα που χρησιμοποιούν για την επικύρωση των προβλέψεων των χρηστών. Ας υποθέσουμε ότι η Alice στοιχηματίζει 20 ETH για το ποιος θα γίνει ο επόμενος Πρόεδρος των ΗΠΑ. Πρόεδρος. Σε αυτήν την περίπτωση, η εφαρμογή αγοράς προβλέψεων χρειάζεται έναν χρησμό για να επιβεβαιώσει τα αποτελέσματα των εκλογών και να καθορίσει εάν η Alice δικαιούται πληρωμή. + +## Προαπαιτούμενα {#prerequisites} + +Αυτή η σελίδα υποθέτει ότι ο αναγνώστης είναι εξοικειωμένος με τα βασικά του Ethereum, συμπεριλαμβανομένων των [κόμβων](/developers/docs/nodes-and-clients/), των [μηχανισμών συναίνεσης](/developers/docs/consensus-mechanisms/) και του [EVM](/developers/docs/evm/). Πρέπει επίσης να έχετε καλή κατανόηση των [έξυπνων συμβολαίων](/developers/docs/smart-contracts/) και της [ανατομίας των έξυπνων συμβολαίων](/developers/docs/smart-contracts/anatomy/), ειδικά των [συμβάντων](/glossary/#events). + +## Τι είναι ένα oracle blockchain; {#what-is-a-blockchain-oracle} + +Τα oracles είναι εφαρμογές που προμηθεύουν, επαληθεύουν και μεταδίδουν εξωτερικές πληροφορίες (δηλαδή πληροφορίες που αποθηκεύονται εκτός αλυσίδας) σε έξυπνα συμβόλαια που εκτελούνται στην κρυπτοαλυσίδα. Εκτός από την "άντληση" δεδομένων εκτός αλυσίδας και τη μετάδοσή τους στο Ethereum, τα oracles μπορούν επίσης να "σπρώχνουν" πληροφορίες από την κρυπτοαλυσίδα σε εξωτερικά συστήματα, π.χ. ξεκλειδώνοντας μια έξυπνη κλειδαριά όταν ο χρήστης στέλνει μια αμοιβή μέσω μιας συναλλαγής Ethereum. + +Χωρίς oracle, ένα έξυπνο συμβόλαιο θα περιοριζόταν εξ ολοκλήρου σε δεδομένα εντός αλυσίδας. + +Τα oracles διαφέρουν με βάση την πηγή δεδομένων (μία ή πολλές πηγές), τα μοντέλα εμπιστοσύνης (κεντρικά ή αποκεντρωμένα) και την αρχιτεκτονική συστήματος (άμεση ανάγνωση, δημοσίευση-εγγραφή και αίτηση-απάντηση). Μπορούμε επίσης να διακρίνουμε μεταξύ των oracles με βάση το εάν ανακτούν εξωτερικά δεδομένα για χρήση από συμβόλαια εντός αλυσίδας (oracle εισόδου), στέλνουν πληροφορίες από την κρυπτοαλυσίδα στις εφαρμογές εκτός αλυσίδας (oracle εξόδου) ή εκτελούν υπολογιστικά καθήκοντα εκτός αλυσίδας (υπολογιστικά oracles). + +## Γιατί τα έξυπνα συμβόλαια χρειάζονται oracles; {#why-do-smart-contracts-need-oracles} + +Πολλοί προγραμματιστές βλέπουν τα έξυπνα συμβόλαια ως κώδικα που εκτελείται σε συγκεκριμένες διευθύνσεις στην κρυπτοαλυσίδα. Ωστόσο, μια πιο [γενική άποψη των έξυπνων συμβολαίων](/smart-contracts/) είναι ότι πρόκειται για αυτοεκτελούμενα λογισμικά προγράμματα ικανά να επιβάλλουν συμφωνίες μεταξύ των μερών όταν πληρούνται συγκεκριμένες προϋποθέσεις, εξ ου και ο όρος "έξυπνα συμβόλαια". + +Αλλά η χρήση έξυπνων συμβολαίων για την επιβολή συμφωνιών μεταξύ ανθρώπων δεν είναι απλή, δεδομένου ότι το Ethereum είναι καθοριστικό. Ένα [καθοριστικό σύστημα](https://en.wikipedia.org/wiki/Deterministic_algorithm) είναι ένα σύστημα που παράγει πάντα τα ίδια αποτελέσματα δεδομένης μιας αρχικής κατάστασης και μιας συγκεκριμένης εισόδου, που σημαίνει ότι δεν υπάρχει τυχαιότητα ή διακύμανση στη διαδικασία υπολογισμού των εξόδων από τις εισόδους. + +Για να επιτευχθεί καθοριστική εκτέλεση, οι κρυπτοαλυσίδες περιορίζουν τους κόμβους να καταλήγουν σε συναίνεση σε απλές δυαδικές (αληθές/ψευδές) ερωτήσεις χρησιμοποιώντας _μόνο_ δεδομένα που αποθηκεύονται στην ίδια την κρυπτοαλυσίδα. Παραδείγματα τέτοιων ερωτήσεων περιλαμβάνουν: + +- «Υπέγραψε ο κάτοχος του λογαριασμού (ταυτοποιημένος από ένα δημόσιο κλειδί) αυτή τη συναλλαγή με το ζεύγος ιδιωτικού κλειδιού;» +- «Έχει αυτός ο λογαριασμός αρκετά κεφάλαια για να καλύψει τη συναλλαγή;» +- «Είναι αυτή η συναλλαγή έγκυρη στο πλαίσιο αυτού του έξυπνου συμβολαίου;» κ.λπ. + +Εάν οι κρυπτοαλυσίδες λάμβαναν πληροφορίες από εξωτερικές πηγές (δηλαδή από τον πραγματικό κόσμο), θα ήταν αδύνατο να επιτευχθεί ο καθορισμός, εμποδίζοντας τους κόμβους να συμφωνήσουν σχετικά με τη νομιμότητα των αλλαγών στην κατάσταση της κρυπτοαλυσίδας. Λάβετε για παράδειγμα ένα έξυπνο συμβόλαιο που εκτελεί μια συναλλαγή με βάση την τρέχουσα ισοτιμία ETH-USD που λαμβάνεται από ένα παραδοσιακό API τιμών. Αυτό το νούμερο είναι πιθανό να αλλάζει συχνά (μην αναφέρουμε ότι το API θα μπορούσε να καταργηθεί ή να παραβιαστεί), που σημαίνει ότι οι κόμβοι που εκτελούν τον ίδιο κώδικα συμβολαίου θα καταλήξουν σε διαφορετικά αποτελέσματα. + +Για μια δημόσια κρυπτοαλυσίδα όπως το Ethereum, με χιλιάδες κόμβους σε όλο τον κόσμο που επεξεργάζονται συναλλαγές, ο καθορισμός είναι κρίσιμος. Χωρίς κεντρική αρχή που να χρησιμεύει ως πηγή αλήθειας, οι κόμβοι χρειάζονται μηχανισμούς για να καταλήξουν στην ίδια κατάσταση μετά την εφαρμογή των ίδιων συναλλαγών. Μια περίπτωση όπου ο κόμβος Α εκτελεί τον κώδικα ενός έξυπνου συμβολαίου και παίρνει "3" ως αποτέλεσμα, ενώ ο κόμβος Β παίρνει "7" μετά την εκτέλεση της ίδιας συναλλαγής θα προκαλούσε τη διάλυση της συναίνεσης και θα εξάλειψε την αξία του Ethereum ως αποκεντρωμένη πλατφόρμα υπολογισμού. + +Αυτό το σενάριο επισημαίνει επίσης το πρόβλημα με το σχεδιασμό κρυπτοαλυσίδων για την άντληση πληροφοριών από εξωτερικές πηγές. Ωστόσο, τα oracle επιλύουν αυτό το πρόβλημα λαμβάνοντας πληροφορίες από πηγές εκτός αλυσίδας και αποθηκεύοντάς τις στην κρυπτοαλυσίδα για κατανάλωση από έξυπνα συμβόλαια. Δεδομένου ότι οι πληροφορίες που αποθηκεύονται εντός αλυσίδας είναι αναλλοίωτες και δημόσια διαθέσιμες, οι κόμβοι Ethereum μπορούν να χρησιμοποιήσουν με ασφάλεια τα δεδομένα που εισάγονται εκτός αλυσίδας από το oracle για να υπολογίσουν αλλαγές κατάστασης χωρίς να διακόψουν τη συναίνεση. + +Για να γίνει αυτό, ένα oracle αποτελείται συνήθως από ένα έξυπνο συμβόλαιο που εκτελείται στην αλυσίδα και ορισμένα στοιχεία εκτός αλυσίδας. Το συμβόλαιο εντός αλυσίδας λαμβάνει αιτήματα για δεδομένα από άλλα έξυπνα συμβόλαια, τα οποία μεταβιβάζει στο στοιχείο εκτός αλυσίδας (που ονομάζεται κόμβος oracle). Αυτός ο κόμβος oracle μπορεί να ερωτήσει πηγές δεδομένων — χρησιμοποιώντας διεπαφές προγραμματισμού εφαρμογών (API), για παράδειγμα και να στείλει συναλλαγές για να αποθηκεύσει τα ζητηθέντα δεδομένα στην αποθήκευση του έξυπνου συμβολαίου. + +Ουσιαστικά, ένα oracle κρυπτοαλυσίδας γεφυρώνει το κενό πληροφοριών μεταξύ της κρυπτοαλυσίδας και του εξωτερικού περιβάλλοντος, δημιουργώντας «υβριδικά έξυπνα συμβόλαια». Ένα υβριδικό έξυπνο συμβόλαιο είναι ένα που λειτουργεί με βάση έναν συνδυασμό κώδικα συμβολαίου στην αλυσίδα και υποδομής εκτός αλυσίδας. Οι αποκεντρωμένες αγορές πρόβλεψης είναι ένα εξαιρετικό παράδειγμα υβριδικών έξυπνων συμβολαίων. Άλλα παραδείγματα μπορεί να περιλαμβάνουν έξυπνα συμβόλαια ασφάλισης καλλιεργειών που αποδίδουν όταν ένα σύνολο oracles καθορίσει ότι έχουν συμβεί ορισμένα καιρικά φαινόμενα. + +## Τι είναι το πρόβλημα του oracle; {#the-oracle-problem} + +Τα oracles επιλύουν ένα σημαντικό πρόβλημα, αλλά εισάγουν επίσης κάποιες επιπλοκές, π.χ.: + +- Πώς μπορούμε να επαληθεύσουμε ότι οι εγχυόμενες πληροφορίες εξαχθήκαν από τη σωστή πηγή ή δεν έχουν παραποιηθεί; + +- Πώς μπορούμε να διασφαλίσουμε ότι αυτά τα δεδομένα είναι πάντα διαθέσιμα και ενημερώνονται τακτικά; + +Το λεγόμενο «πρόβλημα του oracle» δείχνει τα ζητήματα που προκύπτουν από τη χρήση oracles κρυπτοαλυσίδας για την αποστολή εισόδων σε έξυπνα συμβόλαια. Τα δεδομένα από ένα oracle πρέπει να είναι σωστά για να εκτελεστεί σωστά ένα έξυπνο συμβόλαιο. Επιπλέον, το να πρέπει να «εμπιστεύεσαι» τους χειριστές oracle για την παροχή ακριβών πληροφοριών υπονομεύει την «αξιόπιστη» πτυχή των έξυπνων συμβολαίων. + +Διαφορετικά oracles προσφέρουν διαφορετικές λύσεις στο πρόβλημα oracle, το οποίο θα εξερευνήσουμε αργότερα. Τα oracles αξιολογούνται συνήθως ως προς το πόσο καλά μπορούν να χειριστούν τις ακόλουθες προκλήσεις: + +1. **Ορθότητα**: Ένα oracle δεν πρέπει να προκαλεί στα έξυπνα συμβόλαια να ενεργοποιήσουν αλλαγές κατάστασης με βάση μη έγκυρα δεδομένα εκτός αλυσίδας. Ένα oracle πρέπει να εγγυάται την _αυθεντικότητα_ και την _ακεραιότητα_ των δεδομένων. Η αυθεντικότητα σημαίνει ότι τα δεδομένα προέρχονται από τη σωστή πηγή, ενώ η ακεραιότητα σημαίνει ότι τα δεδομένα παρέμειναν ανέπαφα (δηλαδή δεν άλλαξαν) πριν σταλούν στην αλυσίδα. + +2. **Διαθεσιμότητα**: Ένα oracle δεν πρέπει να καθυστερεί ή να εμποδίζει τα έξυπνα συμβόλαια να εκτελούν ενέργειες και να ενεργοποιούν αλλαγές κατάστασης. Αυτό σημαίνει ότι τα δεδομένα από ένα oracle πρέπει να είναι _διαθέσιμα κατόπιν αιτήματος_ χωρίς διακοπή. + +3. **Συμβατότητα κινήτρων**: Ένα oracle θα πρέπει να δίνει κίνητρα στους παρόχους δεδομένων εκτός αλυσίδας να υποβάλλουν σωστές πληροφορίες σε έξυπνα συμβόλαια. Η συμβατότητα κινήτρων περιλαμβάνει την _αποδιδόμενη_ και την _ευθύνη_. Η αποδιδόμενη επιτρέπει τη σύνδεση ενός κομματιού εξωτερικών πληροφοριών με τον πάροχό του, ενώ η ευθύνη συνδέει τους παρόχους δεδομένων με τις πληροφορίες που δίνουν, ώστε να μπορούν να ανταμειφθούν ή να τιμωρηθούν με βάση την ποιότητα των παρεχόμενων πληροφοριών. + +## Πώς λειτουργεί μια υπηρεσία oracle κρυπτοαλυσίδας; {#how-does-a-blockchain-oracle-service-work} + +### Χρήστες {#users} + +Οι χρήστες είναι οντότητες (π.χ., έξυπνα συμβόλαια) που χρειάζονται πληροφορίες εξωτερικές από την κρυπτοαλυσίδα για να ολοκληρώσουν συγκεκριμένες ενέργειες. Η βασική ροή εργασίας μιας υπηρεσίας oracle ξεκινά με τον χρήστη που στέλνει ένα αίτημα δεδομένων στο συμβόλαιο oracle. Τα αιτήματα δεδομένων θα απαντούν συνήθως σε ορισμένες ή όλες τις ακόλουθες ερωτήσεις: + +1. Ποιες πηγές μπορούν να συμβουλευτούν οι κόμβοι εκτός αλυσίδας για τις ζητούμενες πληροφορίες; + +2. Με ποιο τρόπο οι δημοσιογράφοι επεξεργάζονται τις πληροφορίες από τις πηγές δεδομένων και εξάγουν χρήσιμα σημεία δεδομένων; + +3. Πόσοι κόμβοι oracle μπορούν να συμμετάσχουν στην ανάκτηση των δεδομένων; + +4. Πώς θα πρέπει να διαχειρίζονται οι αποκλίσεις στις αναφορές oracle; + +5. Ποια μέθοδος θα πρέπει να εφαρμοστεί για το φιλτράρισμα των υποβολών και τις συναθροίσεις αναφορών σε μια ενιαία τιμή; + +### Συμβόλαιο Oracle {#oracle-contract} + +Το συμβόλαιο oracle είναι το στοιχείο στην αλυσίδα για την υπηρεσία oracle. Αναμένει αιτήματα δεδομένων από άλλα συμβόλαια, μεταφέρει ερωτήματα δεδομένων σε κόμβους oracle και μεταδίδει τα επιστρεφόμενα δεδομένα σε συμβόλαια πελατών. Αυτό το συμβόλαιο μπορεί επίσης να εκτελέσει ορισμένους υπολογισμούς στα επιστρεφόμενα σημεία δεδομένων για να παράγει μια συγκεντρωτική τιμή που θα σταλεί στο συμβόλαιο που ζητά. + +Το συμβόλαιο oracle εκθέτει ορισμένες λειτουργίες που καλούν τα συμβόλαια πελατών όταν κάνουν ένα αίτημα δεδομένων. Κατά την παραλαβή μιας νέας ερώτησης, το έξυπνο συμβόλαιο θα εκπέμπει ένα [συμβάν καταγραφής](/developers/docs/smart-contracts/anatomy/#events-and-logs) με λεπτομέρειες του αιτήματος δεδομένων. Αυτό ειδοποιεί τους κόμβους εκτός αλυσίδας που είναι εγγεγραμμένοι στο αρχείο καταγραφής (συνήθως χρησιμοποιώντας κάτι σαν την εντολή JSON-RPC `eth_subscribe`), οι οποίοι προχωρούν στην ανάκτηση δεδομένων που ορίζονται στο συμβάν καταγραφής. + +Παρακάτω είναι ένα [παράδειγμα συμβολαίου oracle](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) από τον Pedro Costa. Αυτή είναι μια απλή υπηρεσία oracle που μπορεί να επικοινωνήσει με API εκτός αλυσίδας κατόπιν αιτήματος άλλων έξυπνων συμβολαίων και να αποθηκεύσει τις ζητούμενες πληροφορίες στην κρυπτοαλυσίδα: + +```solidity +pragma solidity >=0.4.21 <0.6.0; + +contract Oracle { + Request[] requests; //list of requests made to the contract + uint currentId = 0; //increasing request id + uint minQuorum = 2; //minimum number of responses to receive before declaring final result + uint totalOracleCount = 3; // Hardcoded oracle count + + // defines a general api request + struct Request { + uint id; //request id + string urlToQuery; //API url + string attributeToFetch; //json attribute (key) to retrieve in the response + string agreedValue; //value from key + mapping(uint => string) answers; //answers provided by the oracles + mapping(address => uint) quorum; //oracles which will query the answer (1=oracle hasn't voted, 2=oracle has voted) + } + + //event that triggers oracle outside of the blockchain + event NewRequest ( + uint id, + string urlToQuery, + string attributeToFetch + ); + + //triggered when there's a consensus on the final result + event UpdatedRequest ( + uint id, + string urlToQuery, + string attributeToFetch, + string agreedValue + ); + + function createRequest ( + string memory _urlToQuery, + string memory _attributeToFetch + ) + public + { + uint length = requests.push(Request(currentId, _urlToQuery, _attributeToFetch, "")); + Request storage r = requests[length-1]; + + // Hardcoded oracles address + r.quorum[address(0x6c2339b46F41a06f09CA0051ddAD54D1e582bA77)] = 1; + r.quorum[address(0xb5346CF224c02186606e5f89EACC21eC25398077)] = 1; + r.quorum[address(0xa2997F1CA363D11a0a35bB1Ac0Ff7849bc13e914)] = 1; + + // launch an event to be detected by oracle outside of blockchain + emit NewRequest ( + currentId, + _urlToQuery, + _attributeToFetch + ); + + // increase request id + currentId++; + } + + //called by the oracle to record its answer + function updateRequest ( + uint _id, + string memory _valueRetrieved + ) public { + + Request storage currRequest = requests[_id]; + + //check if oracle is in the list of trusted oracles + //and if the oracle hasn't voted yet + if(currRequest.quorum[address(msg.sender)] == 1){ + + //marking that this address has voted + currRequest.quorum[msg.sender] = 2; + + //iterate through "array" of answers until a position if free and save the retrieved value + uint tmpI = 0; + bool found = false; + while(!found) { + //find first empty slot + if(bytes(currRequest.answers[tmpI]).length == 0){ + found = true; + currRequest.answers[tmpI] = _valueRetrieved; + } + tmpI++; + } + + uint currentQuorum = 0; + + //iterate through oracle list and check if enough oracles(minimum quorum) + //have voted the same answer as the current one + for(uint i = 0; i < totalOracleCount; i++){ + bytes memory a = bytes(currRequest.answers[i]); + bytes memory b = bytes(_valueRetrieved); + + if(keccak256(a) == keccak256(b)){ + currentQuorum++; + if(currentQuorum >= minQuorum){ + currRequest.agreedValue = _valueRetrieved; + emit UpdatedRequest ( + currRequest.id, + currRequest.urlToQuery, + currRequest.attributeToFetch, + currRequest.agreedValue + ); + } + } + } + } + } +} +``` + +### Κόμβοι Oracle {#oracle-nodes} + +Ο κόμβος oracle είναι το στοιχείο εκτός αλυσίδας της υπηρεσίας oracle. Εξάγει πληροφορίες από εξωτερικές πηγές, όπως API που φιλοξενούνται σε διακομιστές τρίτων, και τις τοποθετεί για χρήση από έξυπνα συμβόλαια στην αλυσίδα. Οι κόμβοι oracle παρακολουθούν γεγονότα από το συμβόλαιο oracle στην αλυσίδα και προχωρούν στην ολοκλήρωση της εργασίας που περιγράφεται στο αρχείο καταγραφής. + +Μια κοινή εργασία για τους κόμβους oracle είναι η αποστολή μιας αίτησης [HTTP GET](https://www.w3schools.com/tags/ref_httpmethods.asp) σε μια υπηρεσία API, η ανάλυση της απόκρισης για εξαγωγή σχετικών δεδομένων, το αποτέλεσμα αναγνώσιμο από κρυπτοαλυσίδα και η αποστολή στην αλυσίδα συμπεριλαμβάνοντας τη σε μια συναλλαγή στο συμβόλαιο oracle. Ένας κόμβος oracle μπορεί επίσης να απαιτείται να πιστοποιήσει τη γνησιότητα και την ακεραιότητα των υποβαλλόμενων πληροφοριών χρησιμοποιώντας "αποδείξεις αυθεντικότητας", τις οποίες θα εξετάσουμε αργότερα. + +Οι υπολογισμοί oracles βασίζονται επίσης σε κόμβους εκτός αλυσίδας για την εκτέλεση υπολογιστικών εργασιών που θα ήταν ανέφικτο να εκτελεστούν στην αλυσίδα, δεδομένων των εξόδων gas και των περιορισμών μεγέθους μπλοκ. Για παράδειγμα, ο κόμβος oracle μπορεί να ανατεθεί να δημιουργήσει έναν επαληθεύσιμο τυχαίο αριθμό (π.χ. για παιχνίδια βασισμένα σε κρυπτοαλυσίδα). + +## Πρότυπα σχεδιασμού oracle {#oracle-design-patterns} + +Τα oracles έρχονται σε διαφορετικούς τύπους, συμπεριλαμβανομένων των _άμεσης ανάγνωσης_, _δημοσίευσης-εγγραφής_ και _αιτήματος-απόκρισης_, με τα δύο τελευταία να είναι τα πιο δημοφιλή μεταξύ των έξυπνων συμβολαίων Ethereum. Εδώ περιγράφουμε εν συντομία τα μοντέλα δημοσίευσης - εγγραφής και αιτήματος - απόκρισης. + +### Oracles δημοσίευσης-εγγραφής {#publish-subscribe-oracles} + +Αυτός ο τύπος oracle εκθέτει μια "ροή δεδομένων" την οποία άλλα συμβόλαια μπορούν να διαβάζουν τακτικά για πληροφορίες. Τα δεδομένα σε αυτήν την περίπτωση αναμένεται να αλλάζουν συχνά, επομένως τα συμβόλαια πελατών πρέπει να παρακολουθούν για ενημερώσεις των δεδομένων στον αποθηκευτικό χώρο του oracle. Ένα παράδειγμα είναι ένα oracle που παρέχει τις πιο πρόσφατες πληροφορίες τιμής ETH-USD στους χρήστες. + +### Οι προσφορές αίτησης-απάντησης {#request-response-oracles} + +Μια ρύθμιση αίτησης - απάντησης επιτρέπει στο έξυπνο συμβόλαιο πελάτη να ζητήσει αυθαίρετα δεδομένα εκτός από αυτά που παρέχονται από μια δημοσίευση - εγγραφή. Οι oracles αίτησης - απάντησης είναι ιδανικές όταν το σύνολο δεδομένων είναι πολύ μεγάλο για να αποθηκευτεί στον αποθηκευτικό χώρο ενός έξυπνου συμβολαίου και/ή οι χρήστες θα χρειάζονται μόνο ένα μικρό μέρος των δεδομένων ανά πάσα στιγμή. + +Αν και είναι πιο περίπλοκες από τα μοντέλα δημοσίευσης - εγγραφής, οι oracles αίτησης - απάντησης είναι ουσιαστικά αυτό που περιγράψαμε στην προηγούμενη ενότητα. Μια oracle θα έχει ένα στοιχείο στην αλυσίδα που λαμβάνει ένα αίτημα δεδομένων και το μεταβιβάζει σε έναν κόμβο για επεξεργασία εκτός αλυσίδας. + +Οι χρήστες που ξεκινούν ερωτήματα δεδομένων πρέπει να καλύψουν το κόστος ανάκτησης πληροφοριών από την πηγή στην αλυσίδα. Το έξυπνο συμβόλαιο πελάτη πρέπει επίσης να παρέχει κεφάλαια για την κάλυψη των εξόδων αερίου που προκαλούνται από το έξυπνο συμβόλαιο προφορικού κατά την επιστροφή της απάντησης μέσω της συνάρτησης ανάκλησης που καθορίζεται στο αίτημα. + +## Κεντρικά έναντι αποκεντρωμένα oracles {#types-of-oracles} + +### Κεντρικοί oracles {#centralized-oracles} + +Μια κεντρική oracle ελέγχεται από μια ενιαία οντότητα που είναι υπεύθυνη για τη συγκέντρωση πληροφοριών εκτός αλυσίδας και την ενημέρωση των δεδομένων του έξυπνου συμβολαίου oracle κατόπιν αιτήματος. Οι κεντρικοί oracles είναι αποτελεσματικοί καθώς βασίζονται σε μια ενιαία πηγή αλήθειας. Μπορεί να λειτουργούν καλύτερα σε περιπτώσεις όπου τα ιδιόκτητα σύνολα δεδομένων δημοσιεύονται απευθείας από τον ιδιοκτήτη με μια ευρέως αποδεκτή υπογραφή. Ωστόσο, υπάρχουν επίσης μειονεκτήματα: + +#### Χαμηλές εγγυήσεις ορθότητας {#low-correctness-guarantees} + +Με κεντρικές oracle, δεν υπάρχει τρόπος να επιβεβαιώσετε εάν οι παρεχόμενες πληροφορίες είναι σωστές ή όχι. Ακόμη και οι "αξιόπιστοι" πάροχοι μπορούν να γίνουν απατεώνες ή να υποστούν hacking. Εάν η oracle διαφθαρεί, τα έξυπνα συμβόλαια θα εκτελεστούν σύμφωνα με λάθος δεδομένα. + +#### Κακή διαθεσιμότητα {#poor-availability} + +Οι oracle με κεντρική διαχείριση δεν εγγυώνται ότι θα διαθέτουν πάντα δεδομένα εκτός αλυσίδας σε άλλα έξυπνα συμβόλαια. Εάν ο πάροχος αποφασίσει να απενεργοποιήσει την υπηρεσία ή ένας χάκερ υποκλέψει στοιχεία εκτός αλυσίδας, το έξυπνο συμβόλαιό σας διατρέχει κίνδυνο επίθεσης άρνησης υπηρεσίας (DoS). + +#### Κακή συμβατότητα κινήτρων {#poor-incentive-compatibility} + +Οι κεντρικοί oracle συχνά έχουν κακώς σχεδιασμένα ή ανύπαρκτα κίνητρα για τον πάροχο δεδομένων να στείλει ακριβείς/αλλαγμένες πληροφορίες. Η πληρωμή ενός oracle για ορθότητα δεν εγγυάται την ειλικρίνεια. Αυτό το πρόβλημα μεγαλώνει καθώς αυξάνεται το ποσό της αξίας που ελέγχεται από τα έξυπνα συμβόλαια. + +### Αποκεντρωμένα oracle {#decentralized-oracles} + +Τα αποκεντρωμένα oracle σχεδιάζονται για να ξεπεράσουν τους περιορισμούς των κεντρικών oracle εξαλείφοντας τα ενιαία σημεία αποτυχίας. Μια αποκεντρωμένη υπηρεσία oracle αποτελείται από πολλούς συμμετέχοντες σε ένα δίκτυο peer-to-peer που σχηματίζουν συναίνεση για δεδομένα εκτός αλυσίδας πριν τα στείλουν σε ένα έξυπνο συμβόλαιο. + +Ένα αποκεντρωμένο oracle θα πρέπει (ιδανικά) να είναι χωρίς την ανάγκη άδειας, έμπιστο και απαλλαγμένο από τη διαχείριση από μια κεντρική υπηρεσία. Στην πραγματικότητα, η αποκέντρωση μεταξύ των oracle βρίσκεται στο ίδιο φάσμα. Υπάρχουν ημι-αποκεντρωμένα δίκτυα oracle όπου μπορεί να συμμετάσχει οποιοσδήποτε, αλλά με έναν "ιδιοκτήτη" που εγκρίνει και αφαιρεί κόμβους με βάση την απόδοση του στο παρελθόν. Υπάρχουν επίσης πλήρως αποκεντρωμένα δίκτυα oracle όπου συνήθως λειτουργούν ως ανεξάρτητες κρυπτοαλυσίδες και έχουν καθορισμένους μηχανισμούς συναίνεσης για τον συντονισμό των κόμβων και την τιμωρία κακής συμπεριφοράς. + +Η χρήση αποκεντρωμένων oracle συνοδεύεται από τα ακόλουθα οφέλη: + +### Υψηλές εγγυήσεις ορθότητας {#high-correctness-guarantees} + +Τα αποκεντρωμένα oracle επιχειρούν να επιτύχουν ορθότητα των δεδομένων χρησιμοποιώντας διαφορετικές προσεγγίσεις. Αυτό περιλαμβάνει τη χρήση αποδείξεων που πιστοποιούν την αυθεντικότητα και την ακεραιότητα των παρεχόμενων πληροφοριών και την απαίτηση πολλών οντοτήτων να συμφωνήσουν συλλογικά σχετικά με τη γνησιότητα των δεδομένων εκτός αλυσίδας. + +#### Αποδείξεις αυθεντικότητας {#authenticity-proofs} + +Οι αποδείξεις αυθεντικότητας είναι κρυπτογραφικοί μηχανισμοί που επιτρέπουν την ανεξάρτητη επαλήθευση πληροφοριών που ανακτώνται από εξωτερικές πηγές. Αυτές οι αποδείξεις μπορούν να επικυρώσουν την πηγή των πληροφοριών και να εντοπίσουν πιθανές αλλαγές στα δεδομένα μετά την ανάκτηση. + +Παραδείγματα αποδείξεων αυθεντικότητας περιλαμβάνουν: + +**Αποδείξεις Transport Layer Security (TLS)**: Οι κόμβοι oracle συχνά ανακτούν δεδομένα από εξωτερικές πηγές χρησιμοποιώντας μια ασφαλή σύνδεση HTTP που βασίζεται στο πρωτόκολλο Transport Layer Security (TLS). Ορισμένοι αποκεντρωμένοι oracle χρησιμοποιούν αποδείξεις αυθεντικότητας για να επαληθεύσουν τις συνεδρίες TLS (δηλαδή, να επιβεβαιώσουν την ανταλλαγή πληροφοριών μεταξύ ενός κόμβου και ενός συγκεκριμένου διακομιστή) και να επιβεβαιώσουν ότι το περιεχόμενο της συνεδρίας δεν άλλαξε. + +**Βεβαιώσεις περιβάλλοντος αξιόπιστης εκτέλεσης (TEE)**: Ένα [περιβάλλον αξιόπιστης εκτέλεσης](https://en.wikipedia.org/wiki/Trusted_execution_environment) (TEE) είναι ένα απομονωμένο υπολογιστικό περιβάλλον που είναι απομονωμένο από τις λειτουργικές διεργασίες του συστήματος υποδοχής του. Τα TEE διασφαλίζουν ότι οποιοσδήποτε κώδικας εφαρμογής ή δεδομένα που αποθηκεύονται/χρησιμοποιούνται στο περιβάλλον υπολογισμού διατηρούν την ακεραιότητα, την εμπιστευτικότητα και την αμεταβλητότητα. Οι χρήστες μπορούν επίσης να δημιουργήσουν μια βεβαίωση για να αποδείξουν ότι μια συνεδρία εφαρμογής εκτελείται μέσα στο περιβάλλον αξιόπιστης εκτέλεσης. + +Ορισμένες κατηγορίες αποκεντρωμένων oracle απαιτούν από τους χειριστές κόμβων oracle να παρέχουν βεβαιώσεις TEE. Αυτό επιβεβαιώνει σε έναν χρήστη ότι ο χειριστής του κόμβου εκτελεί μια παρουσία πελάτη oracle σε ένα περιβάλλον αξιόπιστης εκτέλεσης. Τα TEE εμποδίζουν τις εξωτερικές διεργασίες να αλλάζουν ή να διαβάζουν τον κώδικα και τα δεδομένα μιας εφαρμογής, επομένως, αυτές οι βεβαιώσεις αποδεικνύουν ότι ο κόμβος oracle έχει διατηρήσει τις πληροφορίες ανέπαφες και εμπιστευτικές. + +#### Επαλήθευση πληροφοριών με βάση τη συναίνεση {#consensus-based-validation-of-information} + +Οι κεντρικοί oracle βασίζονται σε μια ενιαία πηγή αλήθειας κατά την παροχή δεδομένων σε έξυπνα συμβόλαια, γεγονός που εισάγει τη δυνατότητα δημοσίευσης ανακριβών πληροφοριών. Οι αποκεντρωμένοι oracle επιλύουν αυτό το πρόβλημα βασίζοντας σε πολλούς κόμβους oracle για να λάβουν πληροφορίες εκτός αλυσίδας. Συγκρίνοντας δεδομένα από πολλές πηγές, οι αποκεντρωμένοι oracle μειώνουν τον κίνδυνο μετάδοσης μη έγκυρων πληροφοριών σε συμβόλαια εντός αλυσίδας. + +Ωστόσο, οι αποκεντρωμένοι oracle πρέπει να αντιμετωπίσουν αποκλίσεις στις πληροφορίες που ανακτώνται από πολλές εξωτερικές πηγές. Για να ελαχιστοποιηθούν οι διαφορές στις πληροφορίες και να διασφαλιστεί ότι τα δεδομένα που μεταβιβάζονται στο συμβόλαιο oracle αντικατοπτρίζουν τη συλλογική γνώμη των κόμβων oracle, οι αποκεντρωμένοι oracle χρησιμοποιούν τους ακόλουθους μηχανισμούς: + +##### Ψηφοφορία/δέσμευση για την ακρίβεια των δεδομένων + +Μερικά αποκεντρωμένα δίκτυα oracle απαιτούν από τους συμμετέχοντες να ψηφίσουν ή να κάνουν staking για την ακρίβεια των απαντήσεων σε ερωτήματα δεδομένων (π.χ. "Ποιος κέρδισε τις εκλογές των ΗΠΑ το 2020;") χρησιμοποιώντας το εγγενές κρυπτονόμισμα του δικτύου. Ένα πρωτόκολλο συναθροίσεων στη συνέχεια συγκεντρώνει τις ψήφους και τα stakes και παίρνει την απάντηση που υποστηρίζεται από την πλειοψηφία ως έγκυρη. + +Οι κόμβοι των οποίων οι απαντήσεις αποκλίνουν από την απάντηση της πλειοψηφίας τιμωρούνται με την κατανομή των tokens τους σε άλλους που παρέχουν πιο σωστές τιμές. Η υποχρέωση των κόμβων να παρέχουν μια εγγύηση πριν παρέχουν δεδομένα δημιουργεί κίνητρα για ειλικρινείς απαντήσεις καθώς υποτίθεται ότι είναι ρεαλιστικοί οικονομικοί παράγοντες που επιδιώκουν τη μεγιστοποίηση των αποδόσεων. + +Το staking/ψηφοφορία προστατεύει επίσης τα αποκεντρωμένα oracles από [επιθέσεις Sybil](/glossary/#sybil-attack) όπου κακόβουλοι παράγοντες δημιουργούν πολλαπλές ταυτότητες για να χειραγωγήσουν το σύστημα συναίνεσης. Ωστόσο, η αποθήκευση κεφαλαίου δεν μπορεί να αποτρέψει το "freeloading" (οι κόμβοι oracle αντιγράφουν πληροφορίες από άλλους) και την "τεμπέλικη επικύρωση" (οι κόμβοι oracle ακολουθούν την πλειοψηφία χωρίς να επαληθεύουν μόνοι τους τις πληροφορίες). + +##### Μηχανισμοί σημείου Schelling + +Το [σημείο Schelling](https://en.wikipedia.org/wiki/Focal_point_(game_theory)) είναι μια έννοια της θεωρίας παιγνίων που υποθέτει ότι πολλές οντότητες θα προεπιλέγουν πάντα μια κοινή λύση σε ένα πρόβλημα χωρίς καμία επικοινωνία. Οι μηχανισμοί σημείου Schelling χρησιμοποιούνται συχνά σε αποκεντρωμένα δίκτυα oracle για να επιτρέπουν στους κόμβους να επιτυγχάνουν συναίνεση στις απαντήσεις σε αιτήματα δεδομένων. + +Μια πρώιμη ιδέα για αυτό ήταν το [SchellingCoin](https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/), μια προτεινόμενη ροή δεδομένων όπου οι συμμετέχοντες υποβάλλουν απαντήσεις σε "κλιμακωτές" ερωτήσεις (ερωτήσεις των οποίων οι απαντήσεις περιγράφονται από μέγεθος, π.χ. "ποια είναι η τιμή του ETH;"), μαζί με μια κατάθεση. Οι χρήστες που παρέχουν τιμές μεταξύ του 25ου και 75ου [εκατοστημόριου](https://en.wikipedia.org/wiki/Percentile) ανταμείβονται, ενώ εκείνοι των οποίων οι τιμές αποκλίνουν σε μεγάλο βαθμό από τη μέση τιμή τιμωρούνται. + +Ενώ το SchellingCoin δεν υπάρχει σήμερα, ένας αριθμός αποκεντρωμένων oracles - ιδιαίτερα τα [Maker Protocol’s Oracles](https://docs.makerdao.com/smart-contract-modules/oracle-module) - χρησιμοποιούν τον μηχανισμό σημείου schelling για να βελτιώσουν την ακρίβεια των δεδομένων oracle. Κάθε Oracle Maker αποτελείται από ένα εκτός αλυσίδας P2P δίκτυο κόμβων ("μεταφορείς" και "τροφές") που υποβάλλουν τιμές αγοράς για περιουσιακά στοιχεία ενεχύρων και ένα εντός αλυσίδας συμβόλαιο "Medianizer" που υπολογίζει τη μέση τιμή όλων των παρεχόμενων τιμών. Μόλις παρέλθει η καθορισμένη περίοδος καθυστέρησης, αυτή η μέση τιμή γίνεται η νέα τιμή αναφοράς για το σχετικό περιουσιακό στοιχείο. + +Άλλα παραδείγματα oracle που χρησιμοποιούν μηχανισμούς σημείου Schelling περιλαμβάνουν το [Chainlink OffChain Reporting](https://docs.chain.link/docs/offchain-reporting/) και το [Witnet](https://witnet.io/). Σε αυτά τα δύο συστήματα, οι απαντήσεις από τους κόμβους oracle στο δίκτυο από χρήστη σε χρήστη συγκεντρώνονται σε μία ενιαία συνολική τιμή, όπως μια μέση τιμή ή διάμεσος. Οι κόμβοι επιβραβεύονται ή τιμωρούνται ανάλογα με τον βαθμό στον οποίο οι απαντήσεις τους ευθυγραμμίζονται ή αποκλίνουν από τη συνολική τιμή. + +Οι μηχανισμοί σημείου Schelling είναι ελκυστικοί επειδή ελαχιστοποιούν το αποτύπωμα στην αλυσίδα (απαιτείται να σταλεί μόνο μία συναλλαγή) ενώ εγγυώνται την αποκέντρωση. Το τελευταίο είναι δυνατό επειδή οι κόμβοι πρέπει να υπογράψουν τη λίστα των υποβληθέντων απαντήσεων πριν αυτή τροφοδοτηθεί στον αλγόριθμο που παράγει τη μέση/διάμεση τιμή. + +### Διαθεσιμότητα {#availability} + +Οι αποκεντρωμένες υπηρεσίες oracle εξασφαλίζουν υψηλή διαθεσιμότητα δεδομένων εκτός αλυσίδας σε έξυπνα συμβόλαια. Αυτό επιτυγχάνεται μέσω της αποκέντρωσης τόσο της πηγής των πληροφοριών εκτός αλυσίδας όσο και των κόμβων που είναι υπεύθυνοι για τη μεταφορά των πληροφοριών στην αλυσίδα. + +Αυτό εξασφαλίζει την αντοχή σε σφάλματα καθώς το έξυπνο συμβόλαιο oracle μπορεί να βασίζεται σε πολλούς κόμβους (οι οποίοι επίσης βασίζονται σε πολλές πηγές δεδομένων) για να εκτελέσει ερωτήματα από άλλα συμβόλαια. Η αποκέντρωση στο επίπεδο της πηγής _και_ του χειριστή κόμβου είναι κρίσιμη - ένα δίκτυο κόμβων oracle που εξυπηρετεί πληροφορίες που ανακτώνται από την ίδια πηγή θα αντιμετωπίσει το ίδιο πρόβλημα με ένα κεντρικό oracle. + +Είναι επίσης δυνατό για τα oracle με βάση συμμετοχή να μειώσουν τους χειριστές κόμβων που δεν ανταποκρίνονται γρήγορα σε αιτήματα δεδομένων. Αυτό ενθαρρύνει σημαντικά τους κόμβους oracle να επενδύσουν σε υποδομή ανθεκτική σε σφάλματα και να παρέχουν δεδομένα έγκαιρα. + +### Καλή συμβατότητα κινήτρων {#good-incentive-compatibility} + +Τα αποκεντρωμένα oracle εφαρμόζουν διάφορους σχεδιασμούς κινήτρων για την πρόληψη της [Byzantine](https://en.wikipedia.org/wiki/Byzantine_fault) συμπεριφοράς μεταξύ των κόμβων oracle. Ειδικότερα, επιτυγχάνουν την _αποδοσιμότητα_ και την _λογοδοσία_: + +1. Οι αποκεντρωμένοι κόμβοι oracle απαιτείται συχνά να υπογράφουν τα δεδομένα που παρέχουν σε απάντηση σε αιτήματα δεδομένων. Αυτές οι πληροφορίες βοηθούν στην αξιολόγηση της ιστορικής απόδοσης των κόμβων oracle, έτσι ώστε οι χρήστες να μπορούν να φιλτράρουν τους μη αξιόπιστους κόμβους oracle κατά την υποβολή αιτημάτων δεδομένων. Ένα παράδειγμα είναι το [Αλγοριθμικό Σύστημα Φήμης του Witnet](https://docs.witnet.io/intro/about/architecture#algorithmic-reputation-system). + +2. Τα αποκεντρωμένα oracle - όπως εξηγήθηκε προηγουμένως - μπορεί να απαιτούν από τους κόμβους να δεσμεύσουν ένα κεφάλαιο για εξασφάλιση της αξιοπιστίας τους για την αλήθεια των δεδομένων που υποβάλλουν. Εάν ο ισχυρισμός ελεγχθεί, αυτό το δεσμευμένο κεφάλαιο μπορεί να επιστραφεί μαζί με ανταμοιβές για ειλικρινή εξυπηρέτηση. Αλλά μπορεί επίσης να περικοπεί σε περίπτωση που οι πληροφορίες είναι εσφαλμένες, γεγονός που παρέχει κάποιο μέτρο λογοδοσίας. + +## Εφαρμογές των oracle σε έξυπνα συμβόλαια {#applications-of-oracles-in-smart-contracts} + +Οι ακόλουθες είναι κοινές περιπτώσεις χρήσης για oracle στο Ethereum: + +### Ανάκτηση οικονομικών δεδομένων {#retrieving-financial-data} + +Οι [αποκεντρωμένες χρηματοοικονομικές](/defi/) (DeFi) εφαρμογές επιτρέπουν τη δανειοδότηση από ομότιμο σε ομότιμο, τον δανεισμό και το εμπόριο περιουσιακών στοιχείων. Αυτό συχνά απαιτεί τη λήψη διαφορετικών οικονομικών πληροφοριών, συμπεριλαμβανομένων δεδομένων συναλλαγματικών ισοτιμιών (για τον υπολογισμό της αξίας fiat των κρυπτονομισμάτων ή τη σύγκριση τιμών token) και δεδομένων κεφαλαιαγορών (για τον υπολογισμό της αξίας των tokenized περιουσιακών στοιχείων, όπως ο χρυσός ή το δολάριο ΗΠΑ). + +Ένα πρωτόκολλο δανεισμού DeFi, για παράδειγμα, πρέπει να ρωτήσει τις τρέχουσες τιμές αγοράς για τα περιουσιακά στοιχεία (π.χ., ETH) που κατατέθηκαν ως εξασφάλιση. Αυτό επιτρέπει στο έξυπνο συμβόλαιο να καθορίσει την αξία των περιουσιακών στοιχείων εξασφάλισης και να καθορίσει πόσα μπορεί να δανειστεί από το σύστημα. + +Δημοφιλείς «τιμές oracle» (όπως συχνά αποκαλούνται) στο DeFi περιλαμβάνουν τα Chainlink Price Feeds, το [Open Price Feed](https://compound.finance/docs/prices) του Compound Protocol, τις [Time-Weighted Average Prices (TWAPs)](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles) του Uniswap και τα [Maker Oracles](https://docs.makerdao.com/smart-contract-modules/oracle-module). + +Οι κατασκευαστές θα πρέπει να κατανοήσουν τις προειδοποιήσεις που συνοδεύουν αυτά τα oracle τιμών πριν τα ενσωματώσουν στο έργο τους. Αυτό το [άρθρο](https://blog.openzeppelin.com/secure-smart-contract-guidelines-the-dangers-of-price-oracles/) παρέχει μια λεπτομερή ανάλυση τι πρέπει να λάβετε υπόψη όταν σχεδιάζετε να χρησιμοποιήσετε οποιοδήποτε από τα αναφερόμενα oracle τιμών. + +Παρακάτω είναι ένα παράδειγμα του πώς μπορείτε να ανακτήσετε την τελευταία τιμή ETH στο έξυπνο συμβόλαιό σας χρησιμοποιώντας την ενημέρωση τιμών του Chainlink: + +```solidity +pragma solidity ^0.6.7; + +import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol"; + +contract PriceConsumerV3 { + + AggregatorV3Interface internal priceFeed; + + /** + * Network: Kovan + * Aggregator: ETH/USD + * Address: 0x9326BFA02ADD2366b30bacB125260Af641031331 + */ + constructor() public { + priceFeed = AggregatorV3Interface(0x9326BFA02ADD2366b30bacB125260Af641031331); + } + + /** + * Returns the latest price + */ + function getLatestPrice() public view returns (int) { + ( + uint80 roundID, + int price, + uint startedAt, + uint timeStamp, + uint80 answeredInRound + ) = priceFeed.latestRoundData(); + return price; + } +} +``` + +### Δημιουργώντας επαληθεύσιμη τυχαιότητα {#generating-verifiable-randomness} + +Ορισμένες εφαρμογές κρυπτοαλυσίδας, όπως τα παιχνίδια που βασίζονται σε κρυπτοαλυσίδα ή τα σχέδια λαχειοφόρων αγορών, απαιτούν υψηλό επίπεδο απρόβλεπτου και τυχαιότητας για να λειτουργούν αποτελεσματικά. Ωστόσο, η καθοριστική εκτέλεση των κρυπτοαλυσίδων εξαλείφει την τυχαιότητα. + +Η αρχική προσέγγιση ήταν να χρησιμοποιηθούν ψευδοτυχαίες κρυπτογραφικές συναρτήσεις, όπως το `blockhash`, αλλά αυτές μπορούσαν να [χειραγωγηθούν από κρυπτορύχους](https://ethereum.stackexchange.com/questions/3140/risk-of-using-blockhash-other-miners-preventing-attack#:~:text=So%20while%20the%20miners%20can,to%20one%20of%20the%20players.) που έλυναν τον αλγόριθμο απόδειξης εργασίας. Επίσης, η μετάβαση του Ethereum σε [απόδειξη συμμετοχής](/roadmap/merge/) σημαίνει ότι οι προγραμματιστές δεν μπορούν πλέον να βασίζονται στο `blockhash` για τυχαιότητα επί της αλυσίδας. Ο [μηχανισμός RANDAO](https://eth2book.info/altair/part2/building_blocks/randomness) της αλυσίδας Beacon παρέχει μια εναλλακτική πηγή τυχαιότητας. + +Είναι δυνατό να δημιουργηθεί η τυχαία τιμή εκτός αλυσίδας και να σταλεί εντός αλυσίδας, αλλά αυτό επιβάλλει υψηλές απαιτήσεις εμπιστοσύνης στους χρήστες. Πρέπει να πιστεύουν ότι η τιμή δημιουργήθηκε πραγματικά μέσω απρόβλεπτων μηχανισμών και δεν άλλαξε κατά τη μεταφορά. + +Τα oracle που σχεδιάστηκαν για υπολογισμούς εκτός αλυσίδας επιλύουν αυτό το πρόβλημα δημιουργώντας με ασφάλεια τυχαία αποτελέσματα εκτός αλυσίδας, τα οποία μεταδίδουν εντός αλυσίδας μαζί με κρυπτογραφικές αποδείξεις που πιστοποιούν την απρόβλεπτη φύση της διαδικασίας. Ένα παράδειγμα είναι το [Chainlink VRF](https://docs.chain.link/docs/chainlink-vrf/) (Verifiable Random Function), το οποίο είναι μια αποδεδειγμένα δίκαιη και ανθεκτική σε παραβιάσεις τυχαία γεννήτρια αριθμών (RNG), χρήσιμη για την κατασκευή αξιόπιστων έξυπνων συμβολαίων για εφαρμογές που βασίζονται σε απρόβλεπτα αποτελέσματα. Ένα άλλο παράδειγμα είναι το [API3 QRNG](https://docs.api3.org/explore/qrng/) που παρέχει τη γεννήτρια κβαντικών τυχαίων αριθμών (QRNG) είναι μια δημόσια μέθοδος Web3 RNG που βασίζεται σε κβαντικά φαινόμενα, που παρέχεται με την ευγένεια του Αυστραλιανού Εθνικού Πανεπιστημίου (ANU). + +### Λήψη αποτελεσμάτων για γεγονότα {#getting-outcomes-for-events} + +Με τα oracle, η δημιουργία έξυπνων συμβολαίων που ανταποκρίνονται σε πραγματικά γεγονότα είναι εύκολη. Οι υπηρεσίες oracle το καθιστούν αυτό δυνατό επιτρέποντας στα συμβόλαια να συνδέονται με εξωτερικά API μέσω στοιχείων εκτός αλυσίδας και να χρησιμοποιούν πληροφορίες από αυτές τις πηγές δεδομένων. Για παράδειγμα, η προαναφερθείσα εφαρμογή πρόβλεψης μπορεί να ζητήσει από ένα oracle να επιστρέψει τα αποτελέσματα εκλογών από μια αξιόπιστη πηγή εκτός αλυσίδας (π.χ., το Associated Press). + +Η χρήση oracle για την ανάκτηση δεδομένων με βάση πραγματικά αποτελέσματα επιτρέπει άλλες πρωτοποριακές περιπτώσεις χρήσης. Για παράδειγμα, ένα αποκεντρωμένο ασφαλιστικό προϊόν χρειάζεται ακριβείς πληροφορίες για τον καιρό, καταστροφές κ. λπ. για να λειτουργήσει αποτελεσματικά. + +### Αυτόματη εκτέλεση έξυπνων συμβολαίων {#automating-smart-contracts} + +Τα έξυπνα συμβόλαια δεν εκτελούνται αυτόματα, αλλά ένας εξωτερικά κατεχόμενος λογαριασμός (EOA) ή ένας άλλος λογαριασμός συμβολαίου πρέπει να ενεργοποιήσει τις σωστές συναρτήσεις για να εκτελέσει τον κώδικα του συμβολαίου. Στις περισσότερες περιπτώσεις, το μεγαλύτερο μέρος των συναρτήσεων του συμβολαίου είναι δημόσιες και μπορούν να κληθούν από EOA και άλλα συμβόλαια. + +Υπάρχουν όμως και _ιδιωτικές συναρτήσεις_ μέσα σε ένα συμβόλαιο που είναι απρόσιτες για άλλους, αλλά είναι κρίσιμες για τη συνολική λειτουργικότητα μιας εφαρμογής. Παραδείγματα περιλαμβάνουν μια συνάρτηση `mintERC721Token()` που δημιουργεί περιοδικά νέα NFT για τους χρήστες, μια συνάρτηση για την απονομή πληρωμών σε μια αγορά πρόβλεψης ή μια συνάρτηση για το ξεκλείδωμα των δεσμευμένων ψηφιακών στοιχείων σε ένα DEX. + +Οι προγραμματιστές θα πρέπει να ενεργοποιούν τέτοιες συναρτήσεις σε διαστήματα για να διατηρούν την ομαλή λειτουργία της εφαρμογής. Ωστόσο, αυτό μπορεί να οδηγήσει σε περισσότερες ώρες να χάνονται σε βαρετές εργασίες για τους προγραμματιστές, γι' αυτό η αυτοματοποίηση της εκτέλεσης έξυπνων συμβολαίων είναι ελκυστική. + +Ορισμένα αποκεντρωμένα δίκτυα oracle προσφέρουν υπηρεσίες αυτοματισμού, οι οποίες επιτρέπουν στους κόμβους oracle εκτός αλυσίδας να ενεργοποιούν συναρτήσεις έξυπνου συμβολαίου σύμφωνα με τις παραμέτρους που ορίζει ο χρήστης. Τυπικά, αυτό απαιτεί την "εγγραφή" του συμβολαίου προορισμού στην υπηρεσία oracle, την παροχή κεφαλαίων για την πληρωμή του χειριστή oracle και τον καθορισμό των συνθηκών ή των χρονικών στιγμών ενεργοποίησης του συμβολαίου. + +Το [Keeper Network](https://chain.link/keepers) της Chainlink παρέχει επιλογές για τα έξυπνα συμβόλαια να εξωτερικεύσουν τις τακτικές εργασίες συντήρησης με ελαχιστοποιημένη εμπιστοσύνη και αποκεντρωμένο τρόπο. Διαβάστε την επίσημη [τεκμηρίωση του Keeper](https://docs.chain.link/docs/chainlink-keepers/introduction/) για πληροφορίες σχετικά με τη δημιουργία του συμβολαίου σας συμβατό με Keeper και χρήση της υπηρεσίας Upkeep. + +## Πώς να χρησιμοποιήσετε oracles κρυπτοαλυσίδας {#use-blockchain-oracles} + +Υπάρχουν πολλές εφαρμογές oracle που μπορείτε να ενσωματώσετε στο έξυπνο συμβόλαιο Ethereum σας: + +**[Chainlink](https://chain.link/)** - _Τα αποκεντρωμένα δίκτυα oracle της Chainlink παρέχουν αμετάβλητες εισόδους, εξόδους και υπολογισμούς για την υποστήριξη προηγμένων έξυπνων συμβολαίων σε οποιαδήποτε κρυπτοαλυσίδα._ + +**[RedStone Oracles](https://redstone.finance/)** - _Το RedStone είναι ένα αποκεντρωμένο αρθρωτό oracle που παρέχει τροφοδοσίες δεδομένων βελτιστοποιημένες για gas. Εξειδικεύεται στην προσφορά ροών τιμών για αναδυόμενα περιουσιακά στοιχεία, όπως ρευστότητα κρύπτο αποθήκευσης κεφαλαίου (LST), στοιχεία επαναδιαθέσεως ρευστότητας (LRT) και παράγωγα αποθήκευσης κεφαλαίου Bitcoin._ + +**[Chronicle](https://chroniclelabs.org/)** - _Η Chronicle ξεπερνά τους τρέχοντες περιορισμούς της μεταφοράς δεδομένων στην αλυσίδα αναπτύσσοντας πραγματικά κλιμακωτά, οικονομικά αποδοτικά, αποκεντρωμένα και επαληθεύσιμα oracles._ + +**[Witnet](https://witnet.io/)** - _Το Witnet είναι ένα ανεξάρτητο, αποκεντρωμένο και ανθεκτικό στη λογοκρισία oracle που βοηθά τα έξυπνα συμβόλαια να αντιδρούν σε πραγματικά γεγονότα με ισχυρές εγγυήσεις κρυπτο-οικονομίας._ + +**[Oracle UMA](https://uma.xyz)** - _Το optimistic oracle της UMA επιτρέπει στα έξυπνα συμβόλαια να λαμβάνουν γρήγορα οποιοδήποτε είδος δεδομένων για διαφορετικές εφαρμογές, συμπεριλαμβανομένων των ασφαλίσεων, των χρηματοοικονομικών παραγώγων και των αγορών προβλέψεων._ + +**[Tellor](https://tellor.io/)** - _Το Tellor είναι ένα διαφανές και ανεξάρτητο πρωτόκολλο oracle για το έξυπνο συμβόλαιό σας για να λαμβάνει εύκολα οποιαδήποτε δεδομένα όποτε τα χρειάζεται._ + +**[Band Protocol](https://bandprotocol.com/)** - _Το Band Protocol είναι μια διαλειτουργική πλατφόρμα δεδομένων oracle που συγκεντρώνει και συνδέει πραγματικά δεδομένα και API με έξυπνα συμβόλαια._ + +**[Paralink](https://paralink.network/)** - _Η Paralink παρέχει μια ανοιχτού κώδικα και αποκεντρωμένη πλατφόρμα oracle για έξυπνα συμβόλαια που εκτελούνται στο Ethereum και σε άλλες δημοφιλείς κρυπτοαλυσίδες._ + +**[Δίκτυο Pyth](https://pyth.network/)** - _Το δίκτυο Pyth είναι ένα δίκτυο οικονομικών oracle πρώτου μέρους σχεδιασμένο να δημοσιεύει συνεχώς πραγματικά δεδομένα στην αλυσίδα σε ένα ανθεκτικό στην παραβίαση, αποκεντρωμένο και αυτοβιώσιμο περιβάλλον_. + +**[API3 DAO](https://www.api3.org/)** - _Το API3 DAO παρέχει λύσεις oracle πρώτου μέρους που προσφέρουν μεγαλύτερη διαφάνεια πηγής, ασφάλεια και κλιμακωσιμότητα σε μια αποκεντρωμένη λύση για έξυπνα συμβόλαια._ + +**[Supra](https://supra.com/)** - Ένα κάθετα ενσωματωμένο κιτ εργαλείων λύσεων διαλειτουργικότητας που συνδέει όλες τις κρυπτοαλυσίδες, δημόσιες (L1 και L2) ή ιδιωτικές (επιχειρήσεις), παρέχοντας αποκεντρωμένες ροές τιμών oracle που μπορούν να χρησιμοποιηθούν για περιπτώσεις χρήσης στην αλυσίδα ή εκτός αλυσίδας. + +## Περισσότερες πληροφορίες {#further-reading} + +**Άρθρα** + +- [Τι είναι μια oracle κρυπτοαλυσίδα;](https://chain.link/education/blockchain-oracles) — _Chainlink_ +- [Τι είναι μια oracle κρυπτοαλυσίδα;](https://betterprogramming.pub/what-is-a-blockchain-oracle-f5ccab8dbd72) — _Patrick Collins_ +- [Αποκεντρωμένες oracles: μια ολοκληρωμένη επισκόπηση](https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841) — _Julien Thevenard_ +- [Υλοποίηση μιας oracle κρυπτοαλυσίδας στο Ethereum](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) – _Pedro Costa_ +- [Γιατί τα έξυπνα συμβόλαια δεν μπορούν να κάνουν κλήσεις API;](https://ethereum.stackexchange.com/questions/301/why-cant-contracts-make-api-calls) — _StackExchange_ +- [Γιατί χρειαζόμαστε αποκεντρωμένα oracles](https://newsletter.banklesshq.com/p/why-we-need-decentralized-oracles) — _Bankless_ +- [Άρα θέλετε να χρησιμοποιήσετε ένα oracle τιμής](https://samczsun.com/so-you-want-to-use-a-price-oracle/) — _samczsun_ + +**Βίντεο** + +- [Oracles και η επέκταση της χρησιμότητας της κρυπτοαλυσίδας](https://youtu.be/BVUZpWa8vpw) — _Real Vision Finance_ +- [Οι διαφορές μεταξύ των oracles πρώτου και τρίτου μέρους](https://blockchainoraclesummit.io/first-party-vs-third-party-oracles/) - _Blockchain Oracle Summit_ + +**Σεμινάρια** + +- [Πώς να λάβετε την τρέχουσα τιμή του Ethereum σε Solidity](https://blog.chain.link/fetch-current-crypto-price-data-solidity/) — _Chainlink_ +- [Κατανάλωση δεδομένων Oracle](https://docs.chroniclelabs.org/Developers/tutorials/Remix) — _Chronicle_ + +**Παραδείγματα έργων** + +- [Πλήρες έργο εκκίνησης Chainlink για Ethereum σε Solidit](https://github.com/hackbg/chainlink-fullstack) — _HackBG_ diff --git a/public/content/translations/el/developers/docs/programming-languages/python/index.md b/public/content/translations/el/developers/docs/programming-languages/python/index.md index 1936a9fa275..9612ae475a6 100644 --- a/public/content/translations/el/developers/docs/programming-languages/python/index.md +++ b/public/content/translations/el/developers/docs/programming-languages/python/index.md @@ -19,31 +19,40 @@ incomplete: true - [Κατανοώντας τα έξυπνα συμβόλαια](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) - [Συντάξτε το πρώτο σας έξυπνο συμβόλαιο](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) - [Μάθετε ανάπτυξη και μεταγλώττιση με τη Solidity](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) +- [Η κατάσταση της Python στην κρυπτοαλυσίδα, έκθεση του 2023](https://tradingstrategy.ai/blog/the-state-of-python-in-blockchain-in-2023) ## Άρθρα για αρχάριους {#beginner-articles} +- [Επισκόπηση web3.py](https://web3py.readthedocs.io/en/latest/overview.html) +- [Περιήγηση στο οικοσύστημα Ethereum Python](https://snakecharmers.ethereum.org/python-ecosystem/) - [Οδηγίες Προγραμματιστή (Python) για το Ethereum](https://snakecharmers.ethereum.org/a-developers-guide-to-ethereum-pt-1/) -- [Η κατάσταση της Python στην κρυπτοαλυσίδα, έκθεση του 2023](https://tradingstrategy.ai/blog/the-state-of-python-in-blockchain-in-2023) +- [Άξιο βραβείου: Ένας οδηγός για το Ethereum Python Hackathon](https://snakecharmers.ethereum.org/prize-worthy/) - [Εισαγωγή στα έξυπνα συμβόλαια με Vyper](https://kauri.io/#collections/Getting%20Started/an-introduction-to-smart-contracts-with-vyper/) -- [Αναπτύξτε το δικό σας κρυπτονόμισμα ERC20 με Python και Brownie](https://betterprogramming.pub/python-blockchain-token-deployment-tutorial-create-an-erc20-77a5fd2e1a58) - [Πώς μπορείτε να αναπτύξετε ένα συμβόλαιο Ethereum με το Python Flask;](https://medium.com/coinmonks/how-to-develop-ethereum-contract-using-python-flask-9758fe65976e) - [Εισαγωγή στο Web3.py · Ethereum για προγραμματιστές Python](https://www.dappuniversity.com/articles/web3-py-intro) - [Πώς να χρησιμοποιήσετε τη λειτουργία έξυπνου συμβολαίου με Python και web3.py](https://stackoverflow.com/questions/57580702/how-to-call-a-smart-contract-function-using-python-and-web3-py) ## Άρθρα μεσαίας δυσκολίας {#intermediate-articles} +- [Φίλοι του web3.py: Εισαγωγή στο Ape](https://snakecharmers.ethereum.org/intro-to-ape/) - [Ανάπτυξη Dapp για προγραμματιστές Python](https://levelup.gitconnected.com/dapps-development-for-python-developers-f52b32b54f28) - [Δημιουργώντας μια διεπαφή Python στο Ethereum: Μέρος 1](https://hackernoon.com/creating-a-python-ethereum-interface-part-1-4d2e47ea0f4d) - [Έξυπνα συμβόλαια Ethereum σε Python: ένας περιληπτικός οδηγός](https://hackernoon.com/ethereum-smart-contracts-in-python-a-comprehensive-ish-guide-771b03990988) -- [Χρήση των Brownie και Python για την ανάπτυξη έξυπνων συμβολαίων](https://dev.to/patrickalphac/using-brownie-for-to-deploy-smart-contracts-1kkp) -- [Δημιουργία NFTs στο OpenSea με Brownie](https://www.freecodecamp.org/news/how-to-make-an-nft-and-render-on-opensea-marketplace/) ## Πρότυπα χρήσης για προχωρημένους {#advanced-use-patterns} +- [Μοτίβα web3.py: Συνδρομές σε συμβάντα σε πραγματικό χρόνο](https://snakecharmers.ethereum.org/subscriptions/) +- [web3.py Patterns: WebSocketProvider](https://snakecharmers.ethereum.org/websocketprovider/) - [Μεταγλώττιση, ανάπτυξη και κλήση έξυπνου συμβολαίου Ethereum χρησιμοποιώντας την Python](https://yohanes.gultom.id/2018/11/28/compiling-deploying-and-calling-ethereum-smartcontract-using-python/) - [Αναλύστε τα έξυπνα συμβόλαια με τη Solidity με το Slither](https://kauri.io/#collections/DevOps/analyze-solidity-smart-contracts-with-slither/#analyze-solidity-smart-contracts-with-slither) - [Οδηγός Blockchain Fintech: Δάνειο και δανεισμός με Python](https://blog.chain.link/blockchain-fintech-defi-tutorial-lending-borrowing-python/) +## Αρχειοθετημένα άρθρα + +- [Αναπτύξτε το δικό σας κρυπτονόμισμα ERC20 με Python και Brownie](https://betterprogramming.pub/python-blockchain-token-deployment-tutorial-create-an-erc20-77a5fd2e1a58) +- [Χρήση των Brownie και Python για την ανάπτυξη έξυπνων συμβολαίων](https://dev.to/patrickalphac/using-brownie-for-to-deploy-smart-contracts-1kkp) +- [Δημιουργία NFTs στο OpenSea με Brownie](https://www.freecodecamp.org/news/how-to-make-an-nft-and-render-on-opensea-marketplace/) + ## Έργα και εργαλεία της Python {#python-projects-and-tools} ### Ενεργά: {#active} diff --git a/public/content/translations/el/developers/docs/scaling/index.md b/public/content/translations/el/developers/docs/scaling/index.md new file mode 100644 index 00000000000..0129b4e84bc --- /dev/null +++ b/public/content/translations/el/developers/docs/scaling/index.md @@ -0,0 +1,115 @@ +--- +title: Επεκτασιμότητα +description: Μια εισαγωγή στις διαφορετικές επιλογές επεκτασιμότητας που αναπτύσσονται αυτή τη στιγμή από την κοινότητα του Ethereum. +lang: el +sidebarDepth: 3 +--- + +## Επισκόπηση επεκτασιμότητας {#scaling-overview} + +Καθώς μεγαλώνει ο αριθμός των ατόμων που χρησιμοποιούν το Ethereum, το blockchain έχει αρκετούς περιορισμούς λόγω χωρητικότητας. Γι αυτό το λόγο έχει αυξηθεί το κόστος χρήσης του δικτύου, δημιουργώντας την ανάγκη για «λύσεις επεκτασιμότητας». Υπάρχουν πολλαπλές λύσεις που εξετάζονται, δοκιμάζονται και εφαρμόζονται ακολουθώντας διαφορετικές προσεγγίσεις για την επίτευξη παρόμοιων στόχων. + +Ο κύριος στόχος της επεκτασιμότητας είναι να αυξήσει την ταχύτητα συναλλαγής (γρηγορότερη οριστικότητα) και τη διεκπεραίωση συναλλαγών (μεγαλύτερος αριθμός συναλλαγών ανά δευτερόλεπτο) χωρίς να θυσιάζεται η αποκέντρωση ή η ασφάλεια (περισσότερα για το [Ethereum vision](/roadmap/vision/)). Στο επίπεδο 1 του Ethereum blockchain, η υψηλή ζήτηση οδηγεί σε καθυστερήσεις των συναλλαγών και αρκετά υψηλές [τιμές των κρατήσεων](/developers/docs/gas/). Η αύξηση της χωρητικότητας του δικτύου όσον αφορά την ταχύτητα και τη διακίνηση, είναι θεμελιώδους σημασίας για την ουσιαστική και μαζική υιοθέτηση του Ethereum. + +Καθώς η ταχύτητα και η απόδοση είναι σημαντικές, είναι σημαντικό οι λύσεις επεκτασιμότητας που επιτρέπουν αυτούς τους στόχους να παραμείνουν αποκεντρωμένες και ασφαλείς. Η διατήρηση των απαιτήσεων εισόδου σε χαμηλά επίπεδα για τους χειριστές των κόμβων είναι κρίσιμη για την πρόληψη της προόδου προς την κεντρική και επισφαλή υπολογιστική ισχύ. + +Εννοιολογικά, αρχικά κατηγοριοποιούμε την κλιμάκωση εκτός είτε εντός αλυσίδας. + +## Προαπαιτούμενα {#prerequisites} + +Θα πρέπει να έχετε να κατανοείτε αρκετά καλά όλα τα βασικά θέματα. Η εφαρμογή λύσεων επεκτασιμότητας είναι προηγμένη καθώς η τεχνολογία είναι λιγότερο δοκιμασμένη στη μάχη και συνεχίζει να ερευνάται και να αναπτύσσεται. + +## Κλιμάκωση εντός αλυσίδας {#onchain-scaling} + +Η κλιμάκωση εντός αλυσίδας απαιτεί αλλαγές στο πρωτόκολλο Ethereum (επίπεδο 1 [Mainnet](/glossary/#mainnet)). Για αρκετό διάστημα, η τμηματοποίηση αναμενόταν να αναβαθμίσει το Ethereum. Αυτό επρόκειτο να συμπεριλάβει τον διαχωρισμό του blockchain σε διακριτά κομμάτια (τμήματα) που θα επαληθευόταν από υποσύνολα επικυρωτών. Ωστόσο, η κλιμάκωση με πακέτα ενημέρωσης επιπέδου 2 έχει γίνει η κύρια τεχνική κλιμάκωσης. Αυτό υποστηρίζεται από την προσθήκη νέας φθηνότερης μορφής δεδομένων που συνδέονται με τα Ethereum μπλοκ, η οποία είναι ειδικά σχεδιασμένη για να κάνει τα πακέτα ενημέρωσης φθηνά για τους χρήστες. + +### Τμηματοποίηση {#sharding} + +Το sharding είναι η διαδικασία διαίρεσης μιας βάσης δεδομένων. Υποσύνολα επικυρωτών θα ήταν υπεύθυνα για μεμονωμένα τμήματα αντί να παρακολουθούν ολόκληρο το Ethereum. Το sharding ήταν στον [οδικό χάρτη](/roadmap/) του Ethereum για μεγάλο χρονικό διάστημα και κάποτε προοριζόταν να αποσταλεί πριν από τη μετάβαση σε απόδειξη συμμετοχής. Ωστόσο, η ταχεία ανάπτυξη των λύσεων [rollup επιπέδου 2](#layer-2-scaling) και η εφεύρεση του [Danksharding](/roadmap/danksharding) (προσθήκη μπλοκ δεδομένων rollup σε μπλοκ Ethereum που μπορούν να επαληθευτούν πολύ αποτελεσματικά από τους επικυρωτές) οδήγησαν την κοινότητα Ethereum να προτιμήσει την κλιμάκωση με επίκεντρο τα rollup αντί της κλιμάκωσης με sharding. Αυτό θα βοηθήσει επίσης να διατηρηθεί απλούστερη η λογική συναίνεσης του Ethereum. + +## Κλιμάκωση εκτός αλυσίδας {#offchain-scaling} + +Οι λύσεις εκτός αλυσίδας εφαρμόζονται ξεχωριστά από το Mainnet επιπέδου 1 και δεν απαιτούν καμία αλλαγή στο υπάρχον πρωτόκολλο Ethereum. Ορισμένες λύσεις, γνωστές ως λύσεις "επιπέδου 2", αντλούν την ασφάλειά τους απευθείας από τη συναίνεση του Ethereum επιπέδου 1, όπως τα [optimistic rollup](/developers/docs/scaling/optimistic-rollups/), τα [rollup μηδενικής γνώσης](/developers/docs/scaling/zk-rollups/) ή τα [κανάλια κατάστασης](/developers/docs/scaling/state-channels/). Άλλες λύσεις περιλαμβάνουν τη δημιουργία νέων αλυσίδων σε διάφορες μορφές που αντλούν την ασφάλειά τους ξεχωριστά από το Mainnet, όπως οι [sidechains](#sidechains), τα [validiums](#validium) ή οι [αλυσίδες plasma](#plasma). Αυτές οι λύσεις επικοινωνούν με το Mainnet αλλά αντλούν την ασφάλειά τους διαφορετικά για να επιτύχουν μια ποικιλία στόχων. + +### Επεκτασιμότητα επιπέδου 2 {#layer-2-scaling} + +Αυτή η κατηγορία λύσεων εκτός αλυσίδας αντλεί την ασφάλειά της από το Mainnet Ethereum. + +Το επίπεδο 2 είναι ένας συλλογικός όρος για λύσεις σχεδιασμένες να βοηθήσουν στην κλιμάκωση της εφαρμογής σας χειρίζοντας συναλλαγές εκτός του Ethereum Mainnet (επίπεδο 1) ενώ εκμεταλλεύονται το ισχυρό αποκεντρωμένο μοντέλο ασφάλειας του Mainnet. Η ταχύτητα συναλλαγών υποφέρει όταν το δίκτυο είναι απασχολημένο, καθιστώντας την εμπειρία χρήστη κακή για ορισμένους τύπους dapps. Και καθώς το δίκτυο γίνεται πιο απασχολημένο, οι τιμές του αερίου αυξάνονται καθώς οι αποστολείς συναλλαγών στοχεύουν να υπερισχύσουν ο ένας τον άλλον. Αυτό μπορεί να κάνει τη χρήση του Ethereum πολύ δαπανηρή. + +Οι περισσότερες λύσεις επιπέδου 2 επικεντρώνονται σε έναν διακομιστή ή σε ένα cluster διακομιστών, από τους οποίους ο καθένας μπορεί να αναφέρεται ως κόμβος, επικυρωτής, χειριστής, ακολουθία, παραγωγός μπλοκ ή παρόμοιος όρος. Ανάλογα με την εφαρμογή, αυτοί οι κόμβοι επιπέδου 2 μπορούν να εκτελούνται από τα άτομα, τις επιχειρήσεις ή τα νομικά πρόσωπα που τα χρησιμοποιούν ή από έναν χειριστή τρίτου μέρους ή από μια μεγάλη ομάδα ατόμων (παρόμοια με το Mainnet). Γενικά, οι συναλλαγές υποβάλλονται σε αυτούς τους κόμβους επιπέδου 2 αντί να υποβάλλονται απευθείας στο επίπεδο 1 (Mainnet). Για ορισμένες λύσεις, η παρουσία επιπέδου 2 στη συνέχεια τις συσκευάζει σε ομάδες πριν τις συνδέσει στο επίπεδο 1, μετά την οποία εξασφαλίζονται από το επίπεδο 1 και δεν μπορούν να αλλάξουν. Οι λεπτομέρειες του τρόπου με τον οποίο γίνεται αυτό ποικίλλουν σημαντικά μεταξύ διαφορετικών τεχνολογιών και εφαρμογών επιπέδου 2. + +Μια συγκεκριμένη παρουσία επιπέδου 2 μπορεί να είναι ανοιχτή και κοινόχρηστη από πολλές εφαρμογές ή μπορεί να αναπτυχθεί από ένα έργο και να αφιερωθεί στην υποστήριξη μόνο της εφαρμογής τους. + +#### Γιατί χρειάζεται το επίπεδο 2; {#why-is-layer-2-needed} + +- Αύξηση των συναλλαγών ανά δευτερόλεπτο βελτιώνει σημαντικά την εμπειρία χρήστη και μειώνει τη συμφόρηση δικτύου στο Mainnet Ethereum. +- Οι συναλλαγές συγκεντρώνονται σε μία ενιαία συναλλαγή στο Mainnet Ethereum, μειώνοντας τα τέλη αερίου για τους χρήστες και καθιστώντας το Ethereum πιο συμπεριληπτικό και προσβάσιμο για όλους. +- Οποιαδήποτε ενημέρωση στην κλιμακωσιμότητα δεν πρέπει να γίνεται σε βάρος της αποκέντρωσης ή της ασφάλειας - το επίπεδο 2 χτίζει πάνω από το Ethereum. +- Υπάρχουν δίκτυα επιπέδου 2 ειδικά για εφαρμογές που φέρνουν το δικό τους σύνολο αποτελεσματικότητας όταν εργάζονται με περιουσιακά στοιχεία σε κλίμακα. + +[Περισσότερα για το επίπεδο 2](/layer-2/). + +#### Πακέτα ενημέρωσης {#rollups} + +Τα rollups εκτελούν τις συναλλαγές εκτός του επιπέδου 1 και στη συνέχεια τα δεδομένα δημοσιεύονται στο επίπεδο 1 όπου επιτυγχάνεται συναίνεση. Καθώς τα δεδομένα συναλλαγών περιλαμβάνονται στα μπλοκ επιπέδου 1, αυτό επιτρέπει στα rollups να εξασφαλίζονται από την εγγενή ασφάλεια του Ethereum. + +Υπάρχουν δύο τύποι rollups με διαφορετικά μοντέλα ασφάλειας: + +- **Optimistic rollups**: υποθέτουν ότι οι συναλλαγές είναι έγκυρες από προεπιλογή και εκτελούν υπολογισμούς μόνο μέσω μιας [**απόδειξης απάτης**](/glossary/#fraud-proof) σε περίπτωση πρόκλησης. [Περισσότερα για τα Optimistic rollups](/developers/docs/scaling/optimistic-rollups/). +- **Rollups μηδενικής γνώσης**: εκτελούν υπολογισμούς εκτός αλυσίδας και υποβάλλουν μια [**απόδειξη εγκυρότητας**](/glossary/#validity-proof) στην αλυσίδα. [Περισσότερα για τα rollups μηδενικής γνώσης](/developers/docs/scaling/zk-rollups/). + +#### Κανάλια κατάστασης {#channels} + +Τα κανάλια κατάστασης χρησιμοποιούν συμβόλαια πολλαπλών υπογραφών για να επιτρέπουν στους συμμετέχοντες να πραγματοποιούν συναλλαγές γρήγορα και ελεύθερα εκτός αλυσίδας και στη συνέχεια να διευθετούν την οριστικότητα με το Mainnet. Αυτό ελαχιστοποιεί τη συμφόρηση του δικτύου, τις αμοιβές και τις καθυστερήσεις. Οι δύο τύποι καναλιών είναι επί του παρόντος τα κανάλια κατάστασης και τα κανάλια πληρωμής. + +Μάθετε περισσότερα για τα [κανάλια κατάστασης](/developers/docs/scaling/state-channels/). + +### Πλευρικές αλυσίδες {#sidechains} + +Μια πλευρική αλυσίδα είναι μια ανεξάρτητη κρυπτοαλυσίδα συμβατή με EVM που εκτελείται παράλληλα με το Mainnet. Αυτές είναι συμβατές με το Ethereum μέσω γεφυρών δύο κατευθύνσεων και εκτελούνται υπό τους δικούς τους επιλεγμένους κανόνες συναίνεσης και παραμέτρους μπλοκ. + +Μάθετε περισσότερα για τις [Πλευρικές αλυσίδες](/developers/docs/scaling/sidechains/). + +### Πλάσμα {#plasma} + +Μια αλυσίδα πλάσματος είναι μια ξεχωριστή κρυπτοαλυσίδα που είναι αγκυρωμένη στην κύρια αλυσίδα Ethereum και χρησιμοποιεί αποδείξεις απάτης (όπως τα [optimistic rollups](/developers/docs/scaling/optimistic-rollups/)) για να ελέγχει τις διαφωνίες. + +Μάθετε περισσότερα για το [Πλάσμα](/developers/docs/scaling/plasma/). + +### Validium {#validium} + +Μια αλυσίδα Validium χρησιμοποιεί αποδείξεις εγκυρότητας όπως τα rollups μηδενικής γνώσης αλλά τα δεδομένα δεν αποθηκεύονται στο κύριο επίπεδο 1 της αλυσίδας Ethereum. Αυτό μπορεί να οδηγήσει σε 10.000 συναλλαγές ανά δευτερόλεπτο ανά αλυσίδα Validium και πολλές αλυσίδες μπορούν να εκτελεστούν παράλληλα. + +Μάθετε περισσότερα για τo [Validium](/developers/docs/scaling/validium/). + +## Γιατί χρειάζονται τόσες πολλές λύσεις κλιμάκωσης; {#why-do-we-need-these} + +- Πολλαπλές λύσεις μπορούν να βοηθήσουν στη μείωση της συνολικής συμφόρησης σε οποιοδήποτε μέρος του δικτύου και επίσης να αποτρέψουν ενιαία σημεία αποτυχίας. +- Το σύνολο είναι μεγαλύτερο από το άθροισμα των μερών του. Διαφορετικές λύσεις μπορούν να υπάρξουν και να λειτουργήσουν αρμονικά, επιτρέποντας ένα εκθετικό αποτέλεσμα στην ταχύτητα και απόδοση μελλοντικών συναλλαγών. +- Δεν απαιτείται όλες οι λύσεις να χρησιμοποιούν άμεσα τον αλγόριθμο συναίνεσης Ethereum και οι εναλλακτικές λύσεις μπορούν να προσφέρουν οφέλη που θα ήταν δύσκολο να επιτευχθούν διαφορετικά. +- Καμία λύση κλιμάκωσης δεν είναι αρκετή για να εκπληρώσει το [όραμα του Ethereum](/roadmap/vision/). + +## Περισσότερα από έναν εικονικό μαθητή; {#visual-learner} + + + +_Σημειώστε ότι η εξήγηση στο βίντεο χρησιμοποιεί τον όρο "Επίπεδο 2" για να αναφερθεί σε όλες τις λύσεις κλιμάκωσης εκτός αλυσίδας, ενώ διαφοροποιούμε το "Επίπεδο 2" ως μια λύση εκτός αλυσίδας που αντλεί την ασφάλειά της μέσω της συναίνεσης του κύριου δικτύου επιπέδου 1._ + + + +## Περισσότερες πληροφορίες {#further-reading} + +- [Ένας οδικός χάρτης Ethereum επικεντρωμένος στα rollup](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) του _Vitalik Buterin_ +- [Ενημερωμένες αναλύσεις για λύσεις κλιμάκωσης επιπέδου 2 για το Ethereum](https://www.l2beat.com/) +- [Αξιολόγηση λύσεων κλιμάκωσης επιπέδου 2 Ethereum: Ένα πλαίσιο σύγκρισης](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955) +- [Ένας ελλιπής οδηγός για τα rollup](https://vitalik.eth.limo/general/2021/01/05/rollup.html) +- [Ethereum-powered ZK-Rollups: Παγκόσμιοι πρωταθλητές](https://hackmd.io/@canti/rkUT0BD8K) +- [Πακέτα ενημέρωσης Optimistic ή ZK](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/) +- [Κλιμάκωση blockchain μηδενικής γνώσης](https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf) +- [Γιατί τα rollup και τα τμήματα δεδομένων είναι η μόνη βιώσιμη λύση για υψηλή κλιμάκωση](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48) +- [Τι είδους επίπεδα 3 έχουν νόημα;](https://vitalik.eth.limo/general/2022/09/17/layer_3.html) +- [Διαθεσιμότητα δεδομένων ή: Πώς τα πακέτα ενημέρωσης έμαθαν να σταματούν να ανησυχούν και να αγαπούν το Ethereum](https://research.2077.xyz/data-availability-or-how-rollups-learned-to-stop-worrying-and-love-ethereum) +- [Πρακτικός οδηγός για τα πακέτα ενημέρωσης Ethereum.](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ diff --git a/public/content/translations/el/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/el/developers/docs/scaling/optimistic-rollups/index.md new file mode 100644 index 00000000000..f8bca7cd71e --- /dev/null +++ b/public/content/translations/el/developers/docs/scaling/optimistic-rollups/index.md @@ -0,0 +1,265 @@ +--- +title: Πακέτα ενημέρωσης Optimistic +description: Μια εισαγωγή στα optimistic rollups — μια λύση κλιμάκωσης που χρησιμοποιείται από την κοινότητα του Ethereum. +lang: el +--- + +Τα πακέτα ενημέρωσης (rollups) optimistic είναι πρωτόκολλα επιπέδου 2 (L2) που έχουν σχεδιαστεί για να επεκτείνουν την απόδοση του βασικού επιπέδου του Ethereum. Μειώνουν τον υπολογισμό στην κύρια αλυσίδα Ethereum μέσω της επεξεργασίας των συναλλαγών εκτός αλυσίδας, γεγονός το οποίο προσφέρει σημαντικές βελτιώσεις στις ταχύτητες επεξεργασίας. Σε αντίθεση με άλλες λύσεις κλιμάκωσης, όπως [πλευρικές αλυσίδες](/developers/docs/scaling/sidechains/), τα πακέτα ενημέρωσης optimistic παίρνουν ασφάλεια από το Mainnet, δημοσιεύοντας αποτελέσματα συναλλαγών στην αλυσίδα ή τις [αλυσίδες plasma](/developers/docs/scaling/plasma/), οι οποίες επαληθεύουν επίσης συναλλαγές στο Ethereum με αποδείξεις απάτης, αλλά αποθηκεύουν δεδομένα συναλλαγών αλλού. + +Καθώς ο υπολογισμός είναι το αργό, δαπανηρό μέρος της χρήσης του Ethereum, τα πακέτα ενημέρωσης optimistic μπορούν να προσφέρουν έως και 10-100x βελτιώσεις στην επεκτασιμότητα. Τα πακέτα ενημέρωσης optimistic καταχωρούν επίσης συναλλαγές στο Ethereum ως `calldata` ή σε [blobs](/roadmap/danksharding/), μειώνοντας το κόστος gas για τους χρήστες. + +## Προαπαιτούμενα {#prerequisites} + +Θα πρέπει να έχετε διαβάσει και κατανοήσει τις σελίδες μας σχετικά με την [κλιμάκωση Ethereum](/developers/docs/scaling/) και το [επίπεδο 2](/layer-2/). + +## Τι είναι ένα πακέτο ενημέρωσης optimistic; {#what-is-an-optimistic-rollup} + +Ένα πακέτο ενημέρωσης optimistic είναι μια προσέγγιση για την κλιμάκωση του Ethereum που περιλαμβάνει μετακίνηση υπολογισμού και της αποθήκευσης κατάστασης εκτός αλυσίδας. Τα πακέτα ενημέρωσης optimistic εκτελούν συναλλαγές έξω από το Ethereum, αλλά δημοσιεύουν δεδομένα συναλλαγών στο Κεντρικό δίκτυο ως `calldata` ή σε [blobs](/roadmap/danksharding/). + +Οι χειριστές του πακέτου ενημέρωσης optimistic ομαδοποιούν πολλές συναλλαγές εκτός αλυσίδας σε μεγάλες παρτίδες πριν τις υποβάλουν στο Ethereum. Αυτή η προσέγγιση επιτρέπει την κατανομή του σταθερού κόστους σε πολλαπλές συναλλαγές σε κάθε παρτίδα, μειώνοντας τα τέλη για τους τελικούς χρήστες. Τα πακέτα ενημέρωσης optimistic χρησιμοποιούν επίσης τεχνικές συμπίεσης για να μειώσουν τον όγκο των δεδομένων που δημοσιεύονται στο Ethereum. + +Τα πακέτα ενημέρωσης optimistic θεωρούνται «optimistic» επειδή υποθέτουν ότι οι συναλλαγές εκτός αλυσίδας είναι έγκυρες και δε δημοσιεύουν αποδείξεις εγκυρότητας για παρτίδες συναλλαγών που δημοσιεύονται στην αλυσίδα. Αυτό διαχωρίζει τα πακέτα ενημέρωσης optimistic από τα [πακέτα ενημέρωσης μηδενικής γνώσης](/developers/docs/scaling/zk-rollups) που δημοσιεύουν κρυπτογραφικές [αποδείξεις εγκυρότητας](/glossary/#validity-proof) για συναλλαγές εκτός αλυσίδας. + +Τα πακέτα ενημέρωσης optimistic βασίζονται σε ένα σύστημα απόδειξης απάτης για τον εντοπισμό περιπτώσεων όπου οι συναλλαγές δεν υπολογίζονται σωστά. Μετά την υποβολή ενός συνόλου πακέτων ενημέρωσης στο Ethereum, υπάρχει ένα χρονικό παράθυρο (που ονομάζεται περίοδος πρόκλησης) κατά τη διάρκεια του οποίου οποιοσδήποτε μπορεί να αμφισβητήσει τα αποτελέσματα μιας συναλλαγής πακέτου ενημέρωσης, υπολογίζοντας μια [απόδειξη απάτης](/glossary/#fraud-proof). + +Εάν η απόδειξη απάτης είναι επιτυχής, το πρωτόκολλο πακέτου ενημέρωσης εκτελεί ξανά τις συναλλαγές και ενημερώνει την κατάσταση του πακέτου ενημέρωσης αναλόγως. Το άλλο αποτέλεσμα μιας επιτυχημένης απόδειξης απάτης είναι ότι ο sequencer που είναι υπεύθυνος για τη συμπερίληψη της εσφαλμένα εκτελεσθείσας συναλλαγής σε ένα μπλοκ λαμβάνει μια ποινή. + +Εάν η παρτίδα πακέτου ενημέρωσης παραμείνει χωρίς αμφισβήτηση (δηλαδή, όλες οι συναλλαγές εκτελούνται σωστά) μετά την πάροδο της περιόδου πρόκλησης, θεωρείται έγκυρη και αποδεκτή στο Ethereum. Οι υπόλοιποι μπορούν να συνεχίσουν να βασίζονται σε ένα μη επιβεβαιωμένο πακέτο ενημέρωσης μπλοκ, αλλά με μια προειδοποίηση: τα αποτελέσματα των συναλλαγών θα αντιστραφούν εάν βασίζονται σε μια εσφαλμένα εκτελεσθείσα συναλλαγή που δημοσιεύτηκε προηγουμένως. + +## Πώς αλληλεπιδρούν τα πακέτα ενημέρωσης optimistic με το Ethereum; {#optimistic-rollups-and-Ethereum} + +Τα πακέτα ενημέρωσης optimistic είναι [λύσεις κλιμάκωσης εκτός αλυσίδας](/developers/docs/scaling/#offchain-scaling) που έχουν σχεδιαστεί για να λειτουργούν πάνω από το Ethereum. Κάθε πακέτο ενημέρωσης optimistic διαχειρίζεται ένα σύνολο έξυπνων συμβολαίων που αναπτύσσονται στο δίκτυο Ethereum. Τα πακέτα ενημέρωσης optimistic επεξεργάζονται συναλλαγές εκτός της κύριας αλυσίδας Ethereum, αλλά δημοσιεύει τις συναλλαγές εκτός αλυσίδας (σε παρτίδες) σε ένα συμβόλαιο πακέτου ενημέρωσης στην αλυσίδα. Όπως η κρυπτοαλυσίδα Ethereum, αυτή η εγγραφή συναλλαγών είναι αμετάβλητη και αποτελεί την «αλυσίδα πακέτου ενημέρωσης optimistic». + +Η αρχιτεκτονική ενός πακέτου ενημέρωσης optimistic περιλαμβάνει τα ακόλουθα μέρη: + +**Συμβόλαια επί της αλυσίδας**: Η λειτουργία των πακέτων ενημέρωσης optimistic ελέγχεται από έξυπνα συμβόλαια που εκτελούνται στο Ethereum. Αυτό περιλαμβάνει συμβόλαια που αποθηκεύουν πακέτα ενημέρωσης μπλοκ, παρακολουθούν τις ενημερώσεις κατάστασης στο πακέτο και παρακολουθούν τις καταθέσεις των χρηστών. Υπό αυτή την έννοια, το Ethereum χρησιμεύει ως το βασικό στρώμα ή το «επίπεδο 1» για τα πακέτα ενημέρωσης optimistic. + +**Εικονική μηχανή (VM) εκτός αλυσίδας**: Αν και τα συμβόλαια που διαχειρίζονται το πρωτόκολλο πακέτου ενημέρωσης optimistic εκτελούνται στο Ethereum, το πρωτόκολλο πακέτου ενημέρωσης εκτελεί υπολογισμούς και αποθήκευση της κατάστασης σε άλλη εικονική μηχανή ξεχωριστά από την [Εικονική μηχανή Ethereum](/developers/docs/evm/). Οι VM εκτός αλυσίδας είναι το σημείο όπου υπάρχουν οι εφαρμογές και εκτελούνται οι αλλαγές κατάστασης και χρησιμεύει ως το ανώτερο στρώμα ή «επίπεδο 2» για ένα πακέτο ενημέρωσης optimistic. + +Καθώς τα πακέτα ενημέρωσης optimistic έχουν σχεδιαστεί για την εκτέλεση προγραμμάτων είτε γραμμένων είτε μεταγλωττισμένων για το EVM, η VM εκτός αλυσίδας ενσωματώνει πολλές προδιαγραφές σχεδίασης EVM. Επιπλέον, οι αποδείξεις απάτης που υπολογίζονται στην αλυσίδα επιτρέπουν στο δίκτυο Ethereum να επιβάλλει την εγκυρότητα των αλλαγών κατάστασης που υπολογίζονται στην VM εκτός αλυσίδας. + +Τα πακέτα ενημέρωσης optimistic περιγράφονται ως «υβριδικές λύσεις κλιμάκωσης» επειδή, ενώ υπάρχουν ως ξεχωριστά πρωτόκολλα, οι ιδιότητες ασφαλείας τους προέρχονται από το Ethereum. Μεταξύ άλλων, το Ethereum εγγυάται την ορθότητα του υπολογισμού του πακέτου ενημέρωσης εκτός αλυσίδας και τη διαθεσιμότητα δεδομένων πίσω από τον υπολογισμό. Αυτό καθιστά τα πακέτα ενημέρωσης optimistic πιο ασφαλή από τα αγνά πρωτόκολλα κλιμάκωση εκτός αύσίδας (π.χ., [sidechains](/developers/docs/scaling/sidechains/)) που δε βασίζονται στο Ethereum για ασφάλεια. + +Τα πακέτα ενημέρωσης optimistic βασίζονται στο κύριο πρωτόκολλο Ethereum για τα ακόλουθα: + +### Διαθεσιμότητα δεδομένων {#data-availability} + +Όπως αναφέρθηκε, τα πακέτα ενημέρωσης optimistic δημοσιεύουν δεδομένα συναλλαγών στο Ethereum ως `calldata` ή [blobs](/roadmap/danksharding/). Δεδομένου ότι η εκτέλεση του πακέτου ενημέρωσης αλυσίδας βασίζεται σε υποβληθείσες συναλλαγές, οποιοσδήποτε μπορεί να χρησιμοποιήσει αυτές τις πληροφορίες οι οποίες που είναι αγκυρωμένες στο βασικό επίπεδο του Ethereum, για να εκτελέσει την κατάσταση του πακέτου ενημέρωσης και να επαληθεύσει την ορθότητα των μεταβάσεων κατάστασης. + +Η [διαθεσιμότητα δεδομένων](/developers/docs/data-availability/) είναι κρίσιμης σημασίας, διότι χωρίς πρόσβαση σε δεδομένα κατάστασης, αυτοί που θα αμφισβητήσουν δεν μπορούν να δημιουργήσουν αποδείξεις απάτης για τις μη έγκυρες λειτουργίες των πακέτων ενημέρωσης. Με το Ethereum να παρέχει διαθεσιμότητα δεδομένων, μειώνεται ο κίνδυνος να ξεφύγουν οι χειριστές των πακέτων ενημέρωσης με κακόβουλες ενέργειες (π.χ. υποβολή μη έγκυρων μπλοκ). + +### Αντίσταση στη Λογοκρισία {#censorship-resistance} + +Τα πακέτα ενημέρωσης optimistic βασίζονται επίσης στο Ethereum για αντίσταση στη λογοκρισία. Σε ένα πακέτο ενημέρωσης optimistic, μια κεντρική οντότητα (ο χειριστής) είναι υπεύθυνος για την επεξεργασία των συναλλαγών και την υποβολή των πακέτων ενημέρωσης μπλοκ στο Ethereum. Αυτό έχει κάποιες συνέπειες: + +- Οι χειριστές των πακέτων ενημέρωσης μπορούν να λογοκρίνουν τους χρήστες με το να βγουν εντελώς εκτός σύνδεσης ή με την άρνησή τους να δημιουργήσουν μπλοκ που περιλαμβάνουν ορισμένες συναλλαγές σε αυτά. + +- Οι χειριστές των πακέτων ενημέρωσης μπορούν να αποτρέψουν τους χρήστες από το να κάνουν ανάληψη χρημάτων που έχουν κατατεθεί στη συμβόλαιο του πακέτου ενημέρωσης μέσω της δέσμευσης των δεδομένων κατάστασης που είναι απαραίτητα για τα αποδεικτικά ιδιοκτησίας Merkle. Η δέσμευση δεδομένων κατάστασης μπορεί επίσης να αποκρύψει την κατάσταση του πακέτου ενημέρωσης από τους χρήστες και να τους εμποδίσει να αλληλεπιδράσουν με το πακέτο ενημέρωσης. + +Τα πακέτα ενημέρωσης optimistic λύνουν αυτό το πρόβλημα αναγκάζοντας τους χειριστές να δημοσιεύουν δεδομένα που σχετίζονται με ενημερώσεις κατάστασης στο Ethereum. Η δημοσίευση δεδομένων rollup στην αλυσίδα έχει τα ακόλουθα πλεονεκτήματα: + +- Εάν ένας χειριστής πακέτου ενημέρωσης optimistic βρεθεί εκτός σύνδεσης ή σταματήσει να παράγει παρτίδες συναλλαγών, ένας άλλος κόμβος μπορεί να χρησιμοποιήσει τα διαθέσιμα δεδομένα για να αναπαραγάγει την τελευταία κατάσταση του πακέτου ενημέρωσης και να συνεχίσει την παραγωγή μπλοκ. + +- Οι χρήστες μπορούν να χρησιμοποιήσουν δεδομένα συναλλαγών για να δημιουργήσουν αποδεικτικά Merkle που αποδεικνύουν την ιδιοκτησία κεφαλαίων και να αποσύρουν τα περιουσιακά τους στοιχεία από το πακέτο ενημέρωσης. + +- Οι χρήστες μπορούν επίσης να υποβάλουν τις συναλλαγές τους στο L1 αντί για τον sequencer. Στην περίπτωση αυτή, ο sequencer πρέπει να συμπεριλάβει τη συναλλαγή εντός συγκεκριμένου χρονικού ορίου για να συνεχίσει να παράγει έγκυρα μπλοκ. + +### Διακανονισμός {#settlement} + +Ένας άλλος ρόλος που διαδραματίζει το Ethereum στο πλαίσιο των πακέτων ενημέρωσης optimistic είναι αυτός του επιπέδου διακανονισμού. Ένα επίπεδο διακανονισμού αγκυρώνει ολόκληρο το οικοσύστημα blockchain, δημιουργεί ασφάλεια και παρέχει αντικειμενική οριστικότητα εάν προκύψει μια διαφωνία σε μια άλλη αλυσίδα (στα πακέτα ενημέρωσης optimistic σε αυτή την περίπτωση) που απαιτεί διαιτησία. + +Το Κεντρικό Δίκτυο του Ethereum παρέχει έναν κόμβο για τα πακέτα ενημέρωσης optimistic για την επαλήθευση των αποδεικτικών απάτης και την επίλυση διαφορών. Επιπλέον, οι συναλλαγές που πραγματοποιούνται στο πακέτο ενημέρωσης είναι τελικές μόνο _αφού_ το μπλοκ του πακέτου ενημέρωσης γίνει αποδεκτό στο Ethereum. Μόλις δεσμευτεί μια συναλλαγή rollup στο βασικό επίπεδο του Ethereum, δεν μπορεί να αναιρεθεί (εκτός από την εξαιρετικά απίθανη περίπτωση αναδιοργάνωσης της αλυσίδας). + +## Πώς λειτουργούν τα πακέτα ενημέρωσης optimistic; {#how-optimistic-rollups-work} + +### Εκτέλεση και συγκέντρωση συναλλαγών {#transaction-execution-and-aggregation} + +Οι χρήστες υποβάλλουν συναλλαγές σε «χειριστές», οι οποίοι είναι κόμβοι υπεύθυνοι για την επεξεργασία των συναλλαγών στο πακέτο ενημέρωσης optimistic. Γνωστός και ως «επικυρωτής» ή «συσσωρευτής», ο χειριστής συγκεντρώνει συναλλαγές, συμπιέζει τα υποκείμενα δεδομένα και δημοσιεύει το μπλοκ στο Ethereum. + +Παρόλο που οποιοσδήποτε μπορεί να γίνει επικυρωτής, οι επικυρωτές πακέτων ενημέρωσης optimistic πρέπει να παρέχουν έναν δεσμό πριν από την παραγωγή μπλοκ, όπως ένα [σύστημα απόδειξης συμμετοχής](/developers/docs/consensus-mechanisms/pos/). Αυτός ο δεσμός μπορεί να κοπεί εάν ο επικυρωτής δημοσιεύσει ένα μη έγκυρο μπλοκ ή χτίσει σε ένα παλιό αλλά μη έγκυρο μπλοκ (ακόμα και αν το μπλοκ του είναι έγκυρο). Με αυτόν τον τρόπο τα πακέτα ενημέρωσης optimistic χρησιμοποιούν κρυπτοοικονομικά κίνητρα για να εξασφαλίσουν ότι οι επικυρωτές ενεργούν με ειλικρίνεια. + +Άλλοι επικυρωτές στην αλυσίδα των πακέτων ενημέρωσης optimistic αναμένεται να εκτελέσουν τις υποβληθείσες συναλλαγές χρησιμοποιώντας το αντίγραφο της κατάστασης του πακέτου ενημέρωσης. Εάν η τελική κατάσταση ενός επικυρωτή είναι διαφορετική από την προτεινόμενη κατάσταση του χειριστή, μπορεί να ξεκινήσει μια πρόκληση και να υπολογίσει ένα αποδεικτικό απάτης. + +Ορισμένα πακέτα ενημέρωσης optimistic μπορεί να απέχουν από ένα σύστημα επικύρωσης χωρίς άδεια και να χρησιμοποιούν έναν μεμονωμένο «sequencer» για την εκτέλεση της αλυσίδας. Όπως ένας επικυρωτής, ο sequencer επεξεργάζεται συναλλαγές, παράγει μπλοκ πακέτων ενημέρωσης και υποβάλλει συναλλαγές rollup στην αλυσίδα L1 (Ethereum). + +Ο sequencer διαφέρει από έναν κανονικό χειριστή πακέτων ενημέρωσης, επειδή ασκεί μεγαλύτερο έλεγχο στη διάταξη των συναλλαγών. Επίσης, ο sequencer έχει πρόσβαση κατά προτεραιότητα στην αλυσίδα πακέτου ενημέρωσης και είναι η μόνη οντότητα που είναι εξουσιοδοτημένη να υποβάλλει συναλλαγές στο συμβόλαιο στην αλυσίδα. Οι συναλλαγές από κόμβους που δεν εκτελούν καθήκοντα sequencer ή από τακτικούς χρήστες απλώς τοποθετούνται σε ουρά σε ξεχωριστά εισερχόμενα inbox μέχρι ο sequencer να τις συμπεριλάβει σε μια νέα παρτίδα. + +#### Υποβολή μπλοκ πακέτων ενημέρωσης στο Ethereum {#submitting-blocks-to-ethereum} + +Όπως αναφέρθηκε, ο χειριστής ενός πακέτου ενημέρωσης optimistic δεσμεύει τις συναλλαγές εκτός αλυσίδας σε μια παρτίδα και τις στέλνει στο Ethereum για συμβολαιογραφική επικύρωση. Αυτή η διαδικασία περιλαμβάνει τη συμπίεση δεδομένων που σχετίζονται με τις συναλλαγές και τη δημοσίευσή τους στο Ethereum ως `calldata` ή σε blob. + +Τα `calldata` είναι μια μη τροποποιήσιμη, μη εμμένουσα περιοχή σε ένα έξυπνο συμβόλαιο που συμπεριφέρεται κυρίως σαν [memory](/developers/docs/smart-contracts/anatomy/#memory). Ενώ τα `calldata` παραμένουν στην αλυσίδα ως μέρος των [history logs](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs) του blockchain, δεν αποθηκεύονται ως μέρος της κατάστασης του Ethereum. Επειδή το `calldata` δεν αγγίζει κανένα μέρος της κατάστασης του Ethereum, είναι φθηνότερο από την αποθήκευση δεδομένων κατάστασης στην αλυσίδα. + +Η λέξη-κλειδί `calldata` χρησιμοποιείται επίσης στο Solidity για τη μεταβίβαση ορισμάτων σε μια συνάρτηση έξυπνου συμβόλαιου κατά τον χρόνο εκτέλεσης. Το `calldata` προσδιορίζει τη λειτουργία που καλείται κατά τη διάρκεια μιας συναλλαγής και διατηρεί εισόδους στη λειτουργία με τη μορφή μιας αυθαίρετης ακολουθίας byte. + +Στο πλαίσιο των πακέτων ενημέρωσης optimistic, το `calldata` χρησιμοποιείται για την αποστολή συμπιεσμένων δεδομένων συναλλαγών στο συμβόλαιο στην αλυσίδα. Ο χειριστής του πακέτου ενημέρωσης προσθέτει μια νέα παρτίδα με την κλήση της απαιτούμενης λειτουργίας στο συμβόλαιο του πακέτου ενημέρωσης και τη μεταβίβαση των συμπιεσμένων δεδομένων ως ορισμάτων λειτουργίας. Η χρήση `calldata` μειώνει τις χρεώσεις χρήστη, καθώς το μεγαλύτερο κόστος που επιβαρύνει τα πακέτα ενημέρωσης προέρχεται από την αποθήκευση δεδομένων στην αλυσίδα. + +Ακολουθεί [ένα παράδειγμα](https://etherscan.io/tx/0x9102bfce17c58b5fc1c974c24b6bb7a924fb5fbd7c4cd2f675911c27422a5591) μιας υποβολής παρτίδας πακέτων ενημέρωσης για να παρουσιαστεί πώς λειτουργεί αυτή η ιδέα. Ο sequencer κάλεσε τη μέθοδο `appendSequencerBatch()` και πέρασε τα συμπιεσμένα δεδομένα συναλλαγής ως δεδομένα εισόδου με τη χρήση `calldata`. + +Ορισμένα πακέτα ενημέρωσης χρησιμοποιούν πλέον blob για να δημοσιεύουν παρτίδες συναλλαγών στο Ethereum. + +Τα blob είναι μη τροποποιήσιμα και μη εμμένοντα (ακριβώς όπως το `calldata`), αλλά αφαιρούνται από το ιστορικό μετά από ~18 ημέρες. Για περισσότερες πληροφορίες σχετικά με τα blob, διαβάστε το [Danksharding](/roadmap/danksharding). + +### Δεσμεύσεις κατάστασης {#state-commitments} + +Σε οποιαδήποτε χρονική στιγμή, η κατάσταση του πακέτου ενημέρωσης optimistic (λογαριασμοί, υπόλοιπα, κώδικας συμβολαίου κ.λπ.) οργανώνεται ως [δέντρο Merkle](/whitepaper/#merkle-trees) που ονομάζεται «δέντρο κατάστασης». Η ρίζα αυτού του δέντρου Merkle (κατάσταση ρίζας), η οποία αναφέρεται στην πιο πρόσφατη κατάσταση του πακέτου ενημέρωσης, κατακερματίζεται και αποθηκεύεται στο συμβόλαιο πακέτου ενημέρωσης. Κάθε μετάβαση κατάστασης στην αλυσίδα παράγει μια νέα κατάσταση πακέτου ενημέρωσης, στην οποία ένας χειριστής δεσμεύεται υπολογίζοντας ένα νέο root κατάστασης. + +Ο χειριστής υποχρεούται να υποβάλλει τόσο τις παλιές ρίζες κατάστασης όσο και τις νέες ρίζες κατάστασης κατά την ανάρτηση παρτίδων. Εάν η παλιά κατάσταση ρίζας ταιριάζει με την υπάρχουσα κατάσταση ρίζας στο συμβόλαιο στην αλυσίδα, η τελευταία απορρίπτεται και αντικαθίσταται με τη νέα κατάσταση ρίζας. + +Ο χειριστής του πακέτου ενημέρωσης απαιτείται επίσης να δεσμεύσει μια ρίζα Merkle για την ίδια τη δέσμη συναλλαγών. Αυτό επιτρέπει σε οποιονδήποτε να αποδείξει τη συμπερίληψη μιας συναλλαγής στη δέσμη (στο L1) με την παρουσίαση μιας [απόδειξης Merkle](/developers/tutorials/merkle-proofs-for-offline-data-integrity/). + +Οι δεσμεύσεις κατάστασης, ιδιαίτερα οι καταστάσεις ρίζας, είναι απαραίτητες για την απόδειξη της ορθότητας των αλλαγών κατάστασης σε ένα πακέτο ενημέρωσης optimistic. Το συμβόλαιο πακέτου ενημέρωσης δέχεται νέες καταστάσεις ρίζες από τους χειριστές αμέσως μετά τη δημοσίευσή τους, αλλά μπορεί αργότερα να διαγράψει μη έγκυρες καταστάσεις ρίζας για να επαναφέρει το πακέτο ενημέρωσης στη σωστή του κατάσταση. + +### Απόδειξη απάτης {#fraud-proving} + +Όπως εξηγείται, τα πακέτα ενημέρωσης optimistic επιτρέπουν σε οποιονδήποτε να δημοσιεύει μπλοκ χωρίς να παρέχει αποδείξεις εγκυρότητας. Ωστόσο, για να διασφαλιστεί ότι η αλυσίδα παραμένει ασφαλής, τα πακέτα ενημέρωσης optimistic καθορίζουν ένα χρονικό παράθυρο κατά το οποίο οποιοσδήποτε μπορεί να αμφισβητήσει μια μετάβαση κατάστασης. Ως εκ τούτου, τα μπλοκ πακέτων ενημέρωσης ονομάζονται «ισχυρισμοί», καθώς ο οποιοσδήποτε μπορεί να αμφισβητήσει την εγκυρότητά τους. + +Εάν κάποιος αμφισβητήσει έναν ισχυρισμό, τότε το πρωτόκολλο πακέτου ενημέρωσης θα ξεκινήσει τον υπολογισμό απόδειξης απάτης. Κάθε τύπος απόδειξης απάτης είναι αλληλεπιδραστικός —κάποιος πρέπει να δημοσιεύσει έναν ισχυρισμό πριν κάποιος άλλος μπορέσει να τον αμφισβητήσει. Η διαφορά έγκειται στο πόσοι γύροι αλληλεπίδρασης απαιτούνται για τον υπολογισμό της απόδειξης απάτης. + +Αλληλεπιδραστικά συστήματα απόδειξης ενός γύρου επαναλαμβάνουν αμφισβητούμενες συναλλαγές στο L1 για τον εντοπισμό μη έγκυρων ισχυρισμών. Το πρωτόκολλο πακέτου ενημέρωσης μιμείται την εκ νέου εκτέλεση της αμφισβητούμενης συναλλαγής στο L1 (Ethereum) χρησιμοποιώντας ένα συμβόλαιο επαληθευτή, με την υπολογισμένη ρίζα κατάστασης να καθορίζει ποιος κερδίζει την πρόκληση. Εάν ο ισχυρισμός αυτού που αμφισβητεί σχετικά με τη σωστή κατάσταση του πακέτου ενημέρωσης είναι σωστός, ο χειριστής τιμωρείται με περικοπή του δεσμού του. + +Ωστόσο, η επανεκτέλεση συναλλαγών στο L1 για τον εντοπισμό απάτης απαιτεί τη δημοσίευση δεσμεύσεων κατάστασης για μεμονωμένες συναλλαγές και αυξάνει τα δεδομένα που πρέπει να δημοσιεύουν τα πακέτα ενημέρωσης στην αλυσίδα. Η επανάληψη των συναλλαγών συνεπάγεται επίσης σημαντικό κόστος gas. Για αυτούς τους λόγους, γίνεται μετάβαση των πακέτων ενημερώσεων optimistic σε αλληλεπιδραστική απόδειξη πολλαπλών γύρων, η οποία επιτυγχάνει τον ίδιο στόχο (δηλαδή τον εντοπισμό μη έγκυρων λειτουργιών πακέτων ενημερώσεων) με μεγαλύτερη αποτελεσματικότητα. + +#### Διαδραστική απόδειξη πολλαπλών κύκλων {#multi-round-interactive-proving} + +Η διαδραστική απόδειξη πολλαπλών γύρων περιλαμβάνει ένα πρωτόκολλο εμπρός-πίσω μεταξύ αυτού που υποβάλλει τον ισχυρισμό και αυτού που τον αμφισβητεί, υπό την επίβλεψη ενός συμβολαίου επαληθευτή L1, το οποίο τελικά αποφασίζει το ψευδές μέρος. Αφού ένας κόμβος L2 αμφισβητήσει έναν ισχυρισμό, αυτός που υποβάλλει τον ισχυρισμό πρέπει να διαιρέσει τον αμφισβητούμενο ισχυρισμό σε δύο ισοδύναμα μισά μέρη. Κάθε μεμονωμένος ισχυρισμός σε αυτή την περίπτωση θα περιέχει όσα βήματα υπολογισμού έχει και ο άλλος. + +Αυτός που τον αμφισβητεί θα επιλέξει, στη συνέχεια, τον συγκεκριμένο ισχυρισμό που θέλει να αμφισβητήσει. Η διαδικασία διαίρεσης (που ονομάζεται «πρωτόκολλο διχοτόμησης») συνεχίζεται μέχρι και τα δύο μέλη αμφισβητήσουν έναν ισχυρισμό σχετικά με ένα _μεμονωμένο_ βήμα εκτέλεσης. Σε αυτό το σημείο, το συμβόλαιο L1 θα επιλύσει τη διαφορά μέσω της αξιολόγησης της οδηγίας (και του αποτελέσματός της) για να πιάσει το δόλιο μέρος. + +Ο διεκδικητής πρέπει να παράσχει μια «απόδειξη ενός βήματος» που επαληθεύει την εγκυρότητα του αμφισβητούμενου υπολογισμού ενός σταδίου. Εάν ο διεκδικητής αποτύχει να παράσχει την απόδειξη ενός βήματος ή ο επαληθευτής L1 κρίνει ότι η απόδειξη δεν είναι έγκυρη, χάνει την πρόκληση. + +Μερικές σημειώσεις σχετικά με αυτό το είδος απόδειξης απάτης: + +1. Η διαδραστική απόδειξη απάτης πολλαπλών γύρων θεωρείται αποτελεσματική επειδή ελαχιστοποιεί το έργο που πρέπει να κάνει η αλυσίδα L1 στη διαιτησία διαφορών. Αντί να επαναλαμβάνει ολόκληρη τη συναλλαγή, η αλυσίδα L1 χρειάζεται να επαναλάβει μόνο ένα βήμα στην εκτέλεση του πακέτου ενημέρωσης. + +2. Τα πρωτόκολλα διχοτόμησης μειώνουν τον όγκο των δεδομένων που δημοσιεύονται στην αλυσίδα (δε χρειάζεται να δημοσιεύονται δεσμεύσεις κατάστασης για κάθε συναλλαγή). Επίσης, τα optimistic πακέτα ενημέρωσης δεν περιορίζονται από το όριο gas του Ethereum. Αντίθετα, τα πακέτα ενημέρωσης optimistic που εκτελούν εκ νέου συναλλαγές πρέπει να διασφαλίζουν ότι μια συναλλαγή L2 έχει ένα χαμηλότερο όριο gas για να μιμηθεί την εκτέλεσή της σε μία μεμονωμένη συναλλαγή Ethereum. + +3. Μέρος του δεσμού του κακόβουλου χρήστη απονέμεται στον αμφισβητία, ενώ το άλλο μέρος καίγεται. Το κάψιμο αποτρέπει τη συμπαιγνία μεταξύ επικυρωτών. Εάν δύο επικυρωτές συνεννοηθούν για να ξεκινήσουν ψευδείς προκλήσεις, θα χάσουν ένα σημαντικό κομμάτι ολόκληρου του δεσμευμένου κεφαλαίου. + +4. Η διαδραστική απόδειξη πολλαπλών γύρων απαιτεί από τα δύο μέρη (τον διεκδικητή και τον αμφισβητία) να κάνουν κινήσεις εντός του καθορισμένου χρονικού παραθύρου. Η παράλειψη ενεργοποίησης πριν από τη λήξη της προθεσμίας αναγκάζει τον παραβάτη να χάσει την αμφισβήτηση. + +#### Γιατί οι αποδείξεις απάτης έχουν σημασία για τα πακέτα ενημέρωσης optimistic {#fraud-proof-benefits} + +Οι αποδείξεις απάτης είναι σημαντικές επειδή διευκολύνουν την _αξιόπιστη οριστικότητα_ στα πακέτα ενημέρωσης optimistic. Η αξιόπιστη οριστικότητα είναι μια ποιότητα πακέτων ενημέρωσης optimistic που εγγυάται ότι μια συναλλαγή —εφόσον είναι έγκυρη— θα επιβεβαιωθεί τελικά. + +Οι κακόβουλοι κόμβοι μπορούν να προσπαθήσουν να καθυστερήσουν την επιβεβαίωση ενός έγκυρου πακέτου ενημέρωσης μπλοκ ξεκινώντας ψευδείς προκλήσεις. Ωστόσο, οι αποδείξεις απάτης θα αποδείξουν τελικά την εγκυρότητα του μπλοκ rollup και θα οδηγήσουν στην επιβεβαίωσή του. + +Αυτό σχετίζεται επίσης με ένα άλλο χαρακτηριστικό ασφαλείας των optimistic rollup: η εγκυρότητα της αλυσίδας βασίζεται στην ύπαρξη _ενός_ ειλικρινούς κόμβου. Ο ειλικρινής κόμβος μπορεί να προωθήσει σωστά την αλυσίδα είτε δημοσιεύοντας έγκυρους ισχυρισμούς είτε αμφισβητώντας μη έγκυρους ισχυρισμούς. Όποια και αν είναι η περίπτωση, οι κακόβουλοι κόμβοι που διαφωνούν με έναν ειλικρινή κόμβο θα χάσουν τα μερίδια τους κατά τη διαδικασία απόδειξης απάτης. + +### Διαλειτουργικότητα L1/L2 {#l1-l2-interoperability} + +Τα optimistic rollup έχουν σχεδιαστεί για διαλειτουργικότητα με το Κεντρικό Δίκτυο του Ethereum και επιτρέπουν στους χρήστες να μεταφέρουν μηνύματα και αυθαίρετα δεδομένα μεταξύ L1 και L2. Είναι επίσης συμβατά με το EVM, ώστε να μπορείτε να μεταφέρετε υπάρχουσες [dapp](/developers/docs/dapps/) σε optimistic rollup ή να δημιουργείτε νέες dapp χρησιμοποιώντας εργαλεία ανάπτυξης Ethereum. + +#### 1. Κίνηση κεφαλαίου {#asset-movement} + +##### Προσθήκη πακέτου ενημέρωσης + +Για να χρησιμοποιήσουν ένα optimistic rollup, οι χρήστες καταθέτουν ETH, token ERC-20 και άλλα αποδεκτά στοιχεία στο συμβόλαιο [γέφυρας](/developers/docs/bridges/) του rollup στο L1. Το συμβόλαιο γέφυρας θα μεταφέρει τη συναλλαγή στο L2, όπου ένα ισοδύναμο ποσό περιουσιακών στοιχείων κόβεται και αποστέλλεται στη διεύθυνση που έχει επιλέξει ο χρήστης στο optimistic rollup. + +Οι συναλλαγές που δημιουργούνται από τους χρήστες (όπως μια κατάθεση L1 > L2) συνήθως τοποθετούνται σε ουρά μέχρι ο sequencer να τις υποβάλει ξανά στο συμβόλαιο rollup. Ωστόσο, για να διατηρηθεί η αντίσταση στη λογοκρισία, τα πακέτα ενημέρωσης optimistic επιτρέπουν στους χρήστες να υποβάλουν μια συναλλαγή απευθείας στο συμβόλαιο στην αλυσίδα εάν έχει καθυστερήσει πέραν του μέγιστου επιτρεπόμενου χρόνου. + +Ορισμένα optimistic rollup υιοθετούν μια πιο απλή προσέγγιση για να αποτρέψουν τους sequencer από το να λογοκρίνουν τους χρήστες. Εδώ, ένα μπλοκ ορίζεται από όλες τις συναλλαγές που υποβάλλονται στο συμβόλαιο L1 από το προηγούμενο μπλοκ (π.χ. καταθέσεις) επιπλέον των συναλλαγών που υποβάλλονται για επεξεργασία στην αλυσίδα rollup. Εάν ένας sequencer αγνοήσει μια συναλλαγή L1, θα δημοσιεύσει την (αποδεδειγμένα) λάθος ρίζα κατάστασης. Συνεπώς, οι sequencer δεν μπορούν να καθυστερήσουν τα μηνύματα που δημιουργούνται από τον χρήστη μόλις αναρτηθούν στο L1. + +##### Έξοδος από το rollup + +Η ανάληψη από ένα optimistic rollup στο Ethereum είναι πιο δύσκολη λόγω του συστήματος απόδειξης απάτης. Εάν ένας χρήστης εκκινήσει μια συναλλαγή L2 > L1για ανάληψη κεφαλαίων που έχουν δεσμευτεί στο L1, πρέπει να περιμένει μέχρι να παρέλθει η περίοδος πρόκλησης, η οποία διαρκεί περίπου επτά ημέρες. Ωστόσο, η ίδια η διαδικασία ανάληψης είναι αρκετά απλή. + +Αφού εκκινηθεί το αίτημα ανάληψης στο rollup του L2, η συναλλαγή περιλαμβάνεται στην επόμενη παρτίδα, ενώ τα περιουσιακά στοιχεία του χρήστη στο rollup καίγονται. Μόλις δημοσιευτεί η παρτίδα στο Ethereum, ο χρήστης μπορεί να υπολογίσει μια απόδειξη Merkle που επαληθεύει τη συμπερίληψη της συναλλαγής εξόδου του στο μπλοκ. Στη συνέχεια, το μόνο που μένει να κάνει είναι να περιμένει την περίοδο καθυστέρησης για την οριστικοποίηση της συναλλαγής στο L1 και την ανάληψη χρημάτων στο Κεντρικό Δίκτυο. + +Για να αποφύγετε την αναμονή μιας εβδομάδας πριν από την ανάληψη κεφαλαίων στο Ethereum, οι χρήστες των optimistic rollup μπορούν να χρησιμοποιήσουν έναν **πάροχο ρευστότητας** (liquidity provider, LP). Ένας πάροχος ρευστότητας αναλαμβάνει την ιδιοκτησία μιας εκκρεμούς ανάληψης L2 και πληρώνει τον χρήστη στο L1 (με αντάλλαγμα την πληρωμή μιας αμοιβής). + +Οι πάροχοι ρευστότητας μπορούν να ελέγξουν την εγκυρότητα του αιτήματος ανάληψης του χρήστη (με το να εκτελέσουν οι ίδιοι την αλυσίδα) πριν αποδεσμεύσουν κεφάλαια. Με αυτόν τον τρόπο έχουν διαβεβαιώσεις ότι η συναλλαγή θα επιβεβαιωθεί τελικά (δηλαδή, αδιαμφισβήτητη οριστικότητα). + +#### 2. Συμβατότητα EVM {#evm-compatibility} + +Για τους προγραμματιστές, το πλεονέκτημα των optimistic rollup είναι η συμβατότητά τους —ή, ακόμα καλύτερα, η ισοδυναμία τους— με το [Εικονικό μηχάνημα του Ethereum (EVM)](/developers/docs/evm/). Τα συμβατά με EVM rollup συμμορφώνονται με τις προδιαγραφές στην [Κίτρινη Βίβλο του Ethereum](https://ethereum.github.io/yellowpaper/paper.pdf) και υποστηρίζουν το EVM σε επίπεδο bytecode. + +Η συμβατότητα με EVM σε optimistic rollup έχει τα ακόλουθα πλεονεκτήματα: + +i. Οι προγραμματιστές μπορούν να μετεγκαταστήσουν τα υπάρχοντα έξυπνα συμβόλαια στο Ethereum σε αλυσίδες optimistic rollup χωρίς να χρειάζεται να τροποποιήσουν εκτενώς τις βάσεις κώδικα. Αυτό μπορεί να εξοικονομήσει χρόνο στις ομάδες ανάπτυξης κατά τη δημοσίευση έξυπνων συμβολαίων Ethereum στο L2. + +ii. Οι προγραμματιστές και οι ομάδες έργων που χρησιμοποιούν optimistic rollup μπορούν να επωφεληθούν από την υποδομή του Ethereum. Αυτό περιλαμβάνει γλώσσες προγραμματισμού, βιβλιοθήκες κώδικα, εργαλεία δοκιμών, λογισμικό πελάτη, υποδομή ανάπτυξης και άλλα. + +Η χρήση υφιστάμενων εργαλείων είναι σημαντική επειδή αυτά τα εργαλεία έχουν ελεγχθεί εκτενώς, διορθωθεί και βελτιωθεί με τα χρόνια. Εξαλείφει επίσης την ανάγκη να μάθουν οι προγραμματιστές του Ethereum πώς να κατασκευάζουν με μια εντελώς νέα στοίβα ανάπτυξης. + +#### 3. Κλήσεις συμβολαίων διασταυρούμενων αλυσίδων {#cross-chain-contract-calls} + +Οι χρήστες (λογαριασμοί υπό καθεστώς εξωτερικής ιδιοκτησίας) αλληλεπιδρούν με συμβόλαια L2 υποβάλλοντας μια συναλλαγή στο πακέτο ενημέρωσης ή ζητώντας από έναν sequencer ή επικυρωτή να το κάνει εκ μέρους τους. Τα optimistic rollup επιτρέπουν επίσης στους λογαριασμούς συμβολαίων στο Ethereum να αλληλεπιδρούν με συμβόλαια L2 χρησιμοποιώντας συμβόλαια γεφύρωσης για τη μετάδοση μηνυμάτων και τη μεταφορά δεδομένων μεταξύ L1 και L2. Αυτό σημαίνει ότι μπορείτε να προγραμματίσετε ένα συμβόλαιο L1 στο Κεντρικό Δίκτυο του Ethereum για να καλέσετε συναρτήσεις που ανήκουν σε συμβόλαια σε optimistic rollup L2. + +Οι κλήσεις συμβολαίων διασταυρούμενων αλυσίδων πραγματοποιούνται ασύγχρονα —αυτό σημαίνει ότι πρώτα ξεκινά η κλήση και μετά εκτελείται σε μεταγενέστερο χρόνο. Αυτό διαφέρει από τις κλήσεις μεταξύ των δύο συμβολαίων στο Ethereum, όπου η κλήση παράγει αποτελέσματα αμέσως. + +Ένα παράδειγμα κλήσης συμβολαίου cross-chain είναι η συμβολική κατάθεση που περιγράφηκε προηγουμένως. Ένα συμβόλαιο στο L1 δεσμεύει τα κρυπτονομίσματα του χρήστη και στέλνει ένα μήνυμα σε ένα συζευγμένο συμβόλαιο L2 για να κόψει ισοδύναμο αριθμό κρύπτο στο πακέτο ενημέρωσης. + +Καθώς οι κλήσεις μηνυμάτων διασταυρούμενων αλυσίδων καταλήγουν στην εκτέλεση του συμβολαίου, ο αποστολέας συνήθως καλείται να καλύψει το [κόστος gas ](/developers/docs/gas/) για τον υπολογισμό. Συνιστάται να ορίσετε ένα υψηλό όριο gas για να αποτρέψετε την αποτυχία της συναλλαγής στη στοχευμένη αλυσίδα. Το σενάριο της γεφύρωσης κρύπτο είναι ένα καλό παράδειγμα. Εάν η πλευρά L1 της συναλλαγής (κατάθεση των κρύπτο) λειτουργεί, αλλά η πλευρά L2 (κοπή νέων κρύπτο) αποτύχει λόγω χαμηλού gas, η κατάθεση γίνεται μη αναστρέψιμη. + +Τέλος, να σημειώσουμε ότι οι κλήσεις μηνυμάτων L2 > L1 μεταξύ συμβολαίων πρέπει να λάβουν υπόψη τις καθυστερήσεις (οι κλήσεις L1 > L2 συνήθως εκτελούνται μετά από μερικά λεπτά). Αυτό συμβαίνει επειδή τα μηνύματα που αποστέλλονται στο Κεντρικό Δίκτυο από το optimistic rollup δεν μπορούν να εκτελεστούν έως ότου παρέλθει το χρονικό περιθώριο πρόκλησης. + +## Πώς λειτουργούν τα τέλη των optimistic rollup; {#how-do-optimistic-rollup-fees-work} + +Τα optimistic rollups χρησιμοποιούν ένα σύστημα τελών gas, όπως το Ethereum, για να υποδείξουν πόσα πληρώνουν οι χρήστες ανά συναλλαγή. Τα τέλη που χρεώνονται σε optimistic rollup εξαρτώνται από τα ακόλουθα στοιχεία: + +1. **State write (καταγραφή κατάστασης)**: Τα optimistic rollup δημοσιεύουν δεδομένα συναλλαγών και κεφαλίδες μπλοκ (που αποτελούνται από τον προηγούμενο hash κεφαλίδας μπλοκ, ρίζα κατάστασης, ρίζα παρτίδας) στο Ethereum ως `blob` ή «δυαδικό μεγάλο αντικείμενο» (binary large object). Το [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) παρουσίασε μια οικονομικά αποδοτική λύση για τη συμπερίληψη δεδομένων στην αλυσίδα. Το `blob` είναι ένα νέο πεδίο συναλλαγών που επιτρέπει στα rollup να δημοσιεύουν συμπιεσμένα δεδομένα μετάβασης κατάστασης στο Ethereum L1. Σε αντίθεση με τα `calldata`, τα οποία παραμένουν μόνιμα στην αλυσίδα, τα blobs είναι σύντομα και μπορούν να περικοπούν από πελάτες μετά από [4096 εποχές](https://github.com/ethereum/consensus-specs/blob/81f3ea8322aff6b9fb15132d050f8f98b16bdba4/configs/mainnet.yaml#L147) (περίπου 18 ημέρες). Χρησιμοποιώντας blob για τη δημοσίευση παρτίδων συμπιεσμένων συναλλαγών, τα optimistic rollup μπορούν να μειώσουν σημαντικά το κόστος εγγραφής συναλλαγών στο L1. + +2. **Blob gas used (gas blob που χρησιμοποιήθηκε)**: Οι συναλλαγές που μεταφέρουν blob χρησιμοποιούν έναν δυναμικό μηχανισμό χρέωσης παρόμοιο με αυτόν που εισήχθη από το [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559). Η χρέωση gas για συναλλαγές τύπου 3 λαμβάνει υπόψη τη βασική χρέωση για blob, η οποία καθορίζεται από το δίκτυο με βάση τη ζήτηση χώρου blob και τη χρήση χώρου blob της συναλλαγής που αποστέλλεται. + +3. **L2 operator fees (Τέλη χειριστή L2)**: Αυτό είναι το ποσό που καταβάλλεται στους κόμβους rollup ως αποζημίωση για το υπολογιστικό κόστος που προκύπτει κατά τη διεκπεραίωση συναλλαγών, όπως και τα τέλη gas στο Ethereum. Οι κόμβοι rollup χρεώνουν χαμηλότερα τέλη συναλλαγών, καθώς τα L2 έχουν υψηλότερη ικανότητα επεξεργασίας και δεν αντιμετωπίζουν συμφορήσεις δικτύου που αναγκάζουν τους επικυρωτές στο Ethereum να δίνουν προτεραιότητα στις συναλλαγές με υψηλότερα τέλη. + +Τα optimistic rollup εφαρμόζουν διάφορους μηχανισμούς για τη μείωση των τελών για τους χρήστες, συμπεριλαμβανομένων της ομαδοποίησης συναλλαγών και της συμπίεσης `calldata` για τη μείωση του κόστους δημοσίευσης δεδομένων. Μπορείτε να ελέγξετε το [L2 fee tracker](https://l2fees.info/) για μια επισκόπηση σε πραγματικό χρόνο του κόστους χρήσης optimistic rollup που βασίζονται στο Ethereum. + +## Πώς τα optimistic rollup επεκτείνουν το Ethereum; {#scaling-ethereum-with-optimistic-rollups} + +Όπως έχουμε ήδη εξηγήσει, τα optimistic rollup δημοσιεύουν συμπιεσμένα δεδομένα συναλλαγών στο Ethereum για να εγγυηθούν τη διαθεσιμότητα των δεδομένων. Η ικανότητα συμπίεσης δεδομένων που δημοσιεύονται στην αλυσίδα είναι ζωτικής σημασίας για την κλιμάκωση της απόδοσης στο Ethereum με optimistic rollups. + +Η κύρια αλυσίδα του Ethereum θέτει όρια στο πόσα δεδομένα μπορούν να χωρέσουν τα μπλοκ, τα οποία εκφράζονται σε μονάδες gas (το [μέσο μέγεθος μπλοκ](/developers/docs/blocks/#block-size) είναι 15 εκατομμύρια gas). Παρότι αυτό περιορίζει την ποσότητα gas που μπορεί να χρησιμοποιήσει κάθε συναλλαγή, σημαίνει επίσης ότι μπορούμε να αυξήσουμε τις συναλλαγές που υποβάλλονται σε επεξεργασία ανά μπλοκ μειώνοντας τα δεδομένα που σχετίζονται με τις συναλλαγές —βελτιώνοντας άμεσα την επεκτασιμότητα. + +Τα optimistic rollup χρησιμοποιούν διάφορες τεχνικές για την επίτευξη συμπίεσης δεδομένων συναλλαγών και τη βελτίωση των ρυθμών TPS. Για παράδειγμα, αυτό το [άρθρο](https://vitalik.eth.limo/general/2021/01/05/rollup.html) συγκρίνει τα δεδομένα που δημιουργεί μια βασική συναλλαγή χρήστη (αποστολή ether) στο Κεντρικό Δίκτυο σε σχέση με πόσα δεδομένα δημιουργεί η ίδια συναλλαγή σε ένα rollup: + +| Παράμετρος | Ethereum (L1) | Πακέτο ενημ (L2) | +| ------------ | --------------------- | ---------------- | +| Μοναδικότητα | ~3 | 0 | +| Τιμή αερίου | ~8 | 0-0.5 | +| Καύσιμα | 3 | 0-0.5 | +| Προς | 21 | 4 | +| Τιμή | 9 | ~3 | +| Υπογραφή | ~68 (2 + 33 + 33) | ~0.5 | +| Aπό | 0 (επαναφοφά από sig) | 4 | +| **Σύνολο** | **~112 bytes** | **~12 bytes** | + +Μερικοί πρόχειροι υπολογισμοί σε αυτά τα αριθμητικά στοιχεία μπορεί να βοηθήσουν να φανούν οι βελτιώσεις επεκτασιμότητας που προσφέρει ένα optimistic rollup: + +1. Το μέγεθος στόχου για κάθε μπλοκ είναι 15 εκατομμύρια gas και κοστίζει 16 gas για την επαλήθευση ενός byte δεδομένων. Η διαίρεση του μέσου μεγέθους μπλοκ με 16 gas (15.000.000/16) δείχνει ότι το μέσο μπλοκ μπορεί να χωρέσει **937.500 byte δεδομένων**. +2. Εάν μια βασική συναλλαγή rollup χρησιμοποιεί 12 byte, τότε το μέσο μπλοκ του Ethereum μπορεί να επεξεργαστεί **78.125 συναλλαγές rollup** (937.5000/12) ή **39 παρτίδες rollup ** (αν κάθε παρτίδα περιέχει κατά μέσο όρο 2.000 συναλλαγές). +3. Εάν στο Ethereum παράγεται ένα νέο μπλοκ κάθε 15 δευτερόλεπτα, τότε οι ταχύτητες επεξεργασίας του rollup θα ανέρχονται περίπου σε **5.208 συναλλαγές ανά δευτερόλεπτο**. Αυτό γίνεται διαιρώντας τον αριθμό των βασικών συναλλαγών rollup που μπορεί να χωρέσει ένα μπλοκ Ethereum (**78.125**) με τον μέσο χρόνο μπλοκ (**15 δευτερόλεπτα**). + +Πρόκειται για μια αρκετά αισιόδοξη εκτίμηση, δεδομένου ότι οι συναλλαγές optimistic rollup δεν είναι δυνατόν να περιλαμβάνουν ένα ολόκληρο μπλοκ στο Ethereum. Ωστόσο, μπορεί να δώσει μια χονδρική ιδέα για το πόσα οφέλη επεκτασιμότητας μπορούν να προσφέρουν τα optimistic rollup στους χρήστες του Ethereum (οι τρέχουσες υλοποιήσεις προσφέρουν έως και 2.000 TPS). + +Η εισαγωγή του [data sharding](/roadmap/danksharding/) στο Ethereum αναμένεται να βελτιώσει την επεκτασιμότητα στα optimistic rollup. Επειδή οι συναλλαγές rollup πρέπει να μοιράζονται χώρο μπλοκ με άλλες συναλλαγές που δεν είναι rollup, η ικανότητα επεξεργασίας τους περιορίζεται από τη διακίνηση δεδομένων στην κύρια αλυσίδα Ethereum. Το Danksharding θα αυξήσει τον διαθέσιμο χώρο στις αλυσίδες L2 για τη δημοσίευση δεδομένων ανά μπλοκ, χρησιμοποιώντας φθηνότερο, προσωρινό χώρο αποθήκευσης «blob» αντί για ακριβό, μόνιμο `CALLDATA`. + +### Πλεονεκτήματα και μειονεκτήματα optimistic rollup {#optimistic-rollups-pros-and-cons} + +| Πλεονεκτήματα | Μειονεκτήματα | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Προσφέρει τεράστιες βελτιώσεις στην επεκτασιμότητα χωρίς να θυσιάζει την ασφάλεια ή την έλλειψη εμπιστοσύνης. | Καθυστερήσεις στην οριστικοποίηση της συναλλαγής λόγω πιθανών αμφισβητήσεων περί απάτης. | +| Τα δεδομένα συναλλαγών αποθηκεύονται στην αλυσίδα του επιπέδου 1, κάτι που βελτιώνει τη διαφάνεια, την ασφάλεια, την αντίσταση στη λογοκρισία και την αποκέντρωση. | Οι κεντρικοποιημένοι χειριστές rollup (sequencer) μπορούν να επηρεάσουν τη σειρά των συναλλαγών. | +| Η απόδειξη της απάτης εγγυάται την αδιαπραγμάτευτη οριστικότητα και επιτρέπει στις ειλικρινείς μειονότητες να εξασφαλίσουν την αλυσίδα. | Εάν δεν υπάρχουν ειλικρινείς κόμβοι, ένας κακόβουλος χειριστής μπορεί να κλέψει χρήματα δημοσιεύοντας μη έγκυρα μπλοκ και δεσμεύσεις κατάστασης. | +| Οι υπολογιστικές αποδείξεις απάτης είναι ανοιχτές στον κανονικό κόμβο L2, σε αντίθεση με τις αποδείξεις εγκυρότητας (που χρησιμοποιούνται σε ZK rollup) που απαιτούν ειδικό υλικό. | Το μοντέλο ασφαλείας βασίζεται σε τουλάχιστον έναν ειλικρινή κόμβο που εκτελεί συναλλαγές rollup και υποβάλλει αποδείξεις απάτης για να αμφισβητήσει τις μεταβάσεις μη έγκυρων καταστάσεων. | +| Τα πακέτα συναλλαγών επωφελούνται από την "αξιόπιστη επιβιωσιμότητα" (ο καθένας μπορεί να αναγκάσει την αλυσίδα να προχωρήσει εκτελώντας συναλλαγές και δημοσιεύοντας ισχυρισμούς) | Οι χρήστες πρέπει να περιμένουν να λήξει η περίοδος πρόκλησης διάρκειας μίας εβδομάδας προτού κάνουν ανάληψη των χρημάτων πίσω στο Ethereum. | +| Τα optimistic rollup βασίζονται σε καλά σχεδιασμένα κρυπτοοικονομικά κίνητρα για την αύξηση της ασφάλειας στην αλυσίδα. | Τα rollup πρέπει να δημοσιεύουν όλα τα δεδομένα συναλλαγών στην αλυσίδα, κάτι που μπορεί να αυξήσει το κόστος. | +| Η συμβατότητα με το EVM και το Solidity επιτρέπει στους προγραμματιστές να μεταφέρουν εγγενή στο Ethereum έξυπνα συμβόλαια σε rollup ή να χρησιμοποιούν υπάρχοντα εργαλεία για τη δημιουργία νέων dapp. | | + +### Μια οπτική επεξήγηση των optimistic rollup {#optimistic-video} + +Περισσότερα από έναν εικονικό μαθητή; Παρακολουθήστε το Finematics να εξηγεί τα optimistic rollup: + + + +## Περαιτέρω υλικό για ανάγνωση σχετικά με τα optimistic rollup + +- [Πώς λειτουργούν τα optimistic rollup (Ο Πλήρης Οδηγός)](https://www.alchemy.com/overviews/optimistic-rollups) +- [Τι είναι το πακέτο ενημέρωσης blockchain; Μια τεχνική οδηγία](https://www.ethereum-ecosystem.com/blog/what-is-a-blockchain-rollup-a-technical-introduction) +- [Ο Βασικός Οδηγός για το Arbitrum](https://newsletter.banklesshq.com/p/the-essential-guide-to-arbitrum) +- [Πρακτικός οδηγός για τα πακέτα ενημέρωσης Ethereum](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) +- [The State Of Fraud Proofs In Ethereum L2s](https://research.2077.xyz/the-state-of-fraud-proofs-in-ethereum-l2s) +- [Πώς λειτουργούν πραγματικά τα πακέτα ενημέρωσης Optimism;](https://www.paradigm.xyz/2021/01/how-does-optimisms-rollup-really-work) +- [Περισσότερες λεπτομέρειες OVM](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) +- [Τι είναι η εικονική μηχανή Optimistic;](https://www.alchemy.com/overviews/optimistic-virtual-machine) diff --git a/public/content/translations/el/developers/docs/scaling/plasma/index.md b/public/content/translations/el/developers/docs/scaling/plasma/index.md new file mode 100644 index 00000000000..976b7f86bbc --- /dev/null +++ b/public/content/translations/el/developers/docs/scaling/plasma/index.md @@ -0,0 +1,175 @@ +--- +title: Αλυσίδες Plasma +description: Μια εισαγωγή στις αλυσίδες plasma ως λύση κλιμάκωσης που χρησιμοποιείται επί του παρόντος από την κοινότητα του Ethereum. +lang: el +incomplete: true +sidebarDepth: 3 +--- + +Μια αλυσίδα Plasma είναι ένα ξεχωριστό blockchain αγκυρωμένο στο Κεντρικό δίκτυο Ethereum αλλά εκτελεί συναλλαγές εκτός αλυσίδας με δικό της μηχανισμό για επικύρωση μπλοκ. Οι αλυσίδες Plasma μερικές φορές αναφέρονται ως αλυσίδες-«τέκνα», ουσιαστικά μικρότερα αντίγραφα του Κεντρικού Δικτύου του Ethereum. Οι αλυσίδες Plasma χρησιμοποιούν [αποδείξεις απάτης](/glossary/#fraud-proof) (όπως [optimistic rollup](/developers/docs/scaling/optimistic-rollups/)) για τη διαιτησία των διαφορών. + +Τα δέντρα Merkle επιτρέπουν τη δημιουργία μιας ατελείωτης στοίβας αυτών των αλυσίδων που μπορούν να λειτουργήσουν για να ξεφορτώσουν το εύρος ζώνης από τις γονικές αλυσίδες (συμπεριλαμβανομένου του Κεντρικού Δικτύου του Ethereum). Ωστόσο, ενώ αυτές οι αλυσίδες αντλούν κάποια ασφάλεια από το Ethereum (μέσω αποδείξεων απάτης), η ασφάλεια και η αποτελεσματικότητά τους επηρεάζονται από αρκετούς σχεδιαστικούς περιορισμούς. + +## Προαπαιτούμενα {#prerequisites} + +Θα πρέπει να κατανοείτε επαρκώς όλα τα θεμελιώδη θέματα και να έχετε υψηλό επίπεδο κατανόησης της [κλιμάκωσης του Ethereum](/developers/docs/scaling/). + +## Τι είναι το Plasma; + +Το Plasma είναι ένα πλαίσιο για τη βελτίωση της κλιμάκωσης των δημόσιων blockchain όπως το Ethereum. Όπως περιγράφεται στο αρχικό [Plasma whitepaper](http://plasma.io/plasma.pdf), οι αλυσίδες Plasma είναι χτισμένες πάνω σε ένα άλλο blockchain (που ονομάζεται «βασική αλυσίδα» ή «root chain»). Κάθε «αλυσίδα-τέκνο» εκτείνεται από τη βασική αλυσίδα και γενικά τη διαχειρίζεται ένα έξυπνο συμβόλαιο που αναπτύσσεται στη γονική αλυσίδα. + +Το συμβόλαιο Plasma λειτουργεί, μεταξύ άλλων, ως [γέφυρα](/developers/docs/bridges/) που επιτρέπει στους χρήστες να μετακινούν στοιχεία μεταξύ του Κεντρικύ Δικτύου Ethereum και της αλυσίδας plasma. Παρόλο που αυτό τις κάνει παρόμοιες με τις [πλευρικές αλυσίδες](/developers/docs/scaling/sidechains/), οι αλυσίδες plasma επωφελούνται —τουλάχιστον, σε κάποιο βαθμό— από την ασφάλεια του Κεντρικού Δελτίου Ethereum. Αυτό δεν συμβαίνει και στις πλευρικές αλυσίδες, οι οποίες είναι αποκλειστικά υπεύθυνες για την ασφάλειά τους. + +## Πώς λειτουργεί το Plasma; + +Τα βασικά συστατικά μέρη του πλαισίου Plasma είναι: + +### Υπολογισμός εκτός αλυσίδας {#offchain-computation} + +Η τρέχουσα ταχύτητα επεξεργασίας του Ethereum περιορίζεται σε ~ 15-20 συναλλαγές ανά δευτερόλεπτο, κάτι που μειώνει τη βραχυπρόθεσμη δυνατότητα κλιμάκωσης για τη διαχείριση περισσότερων χρηστών. Αυτό το πρόβλημα υπάρχει κυρίως επειδή ο [μηχανισμός συναίνεσης](/developers/docs/consensus-mechanisms/) του Ethereum απαιτεί πολλούς κόμβους peer-to-peer για την επαλήθευση κάθε ενημέρωσης στην κατάσταση του blockchain. + +Αν και ο μηχανισμός συναίνεσης του Ethereum είναι απαραίτητος για την ασφάλεια, μπορεί να μην έχει εφαρμογή σε κάθε περίπτωση. Για παράδειγμα, η Alice μπορεί να μη χρειάζεται να επαληθεύονται οι καθημερινές πληρωμές του καφέ της στον Bob από ολόκληρο το δίκτυο Ethereum, καθώς υπάρχει κάποια εμπιστοσύνη μεταξύ των δύο μερών. + +Το Plasma υποθέτει ότι το Κεντρικό Δίκτυο Ethereum δεν χρειάζεται να επαληθεύει όλες τις συναλλαγές. Αντίθετα, μπορούμε να επεξεργαστούμε συναλλαγές εκτός του Κεντρικού Δικτύου, απαλλάσσοντας τους κόμβους από την ανάγκη να επικυρώνουν κάθε συναλλαγή. + +Ο υπολογισμός εκτός αλυσίδας είναι απαραίτητος, καθώς οι αλυσίδες Plasma μπορούν να βελτιστοποιήσουν την ταχύτητα και το κόστος. Για παράδειγμα, μια αλυσίδα Plasma μπορεί —και τις περισσότερες φορές— χρησιμοποιεί έναν μόνο «χειριστή» για τη διαχείριση της σειράς και της εκτέλεσης των συναλλαγών. Με μία μόνο οντότητα να επαληθεύει συναλλαγές, οι χρόνοι επεξεργασίας σε μια αλυσίδα plasma είναι ταχύτεροι από το Κεντρικό Δίκτυο Ethereum. + +### Δεσμεύσεις κατάστασης {#state-commitments} + +Ενώ το Plasma εκτελεί συναλλαγές εκτός αλυσίδας, αυτές διευθετούνται στο κύριο επίπεδο εκτέλεσης του Ethereum — διαφορετικά, οι αλυσίδες Plasma δεν μπορούν να επωφεληθούν από τις εγγυήσεις ασφαλείας του Ethereum. Αλλά η οριστικοποίηση των συναλλαγών εκτός αλυσίδας χωρίς να γνωρίζουμε την κατάσταση της αλυσίδας plasma θα έσπαζε το μοντέλο ασφαλείας και θα επέτρεπε τον πολλαπλασιασμό μη έγκυρων συναλλαγών. Αυτός είναι ο λόγος για τον οποίο ο χειριστής, η οντότητα που είναι υπεύθυνη για την παραγωγή μπλοκ στην αλυσίδα plasma, απαιτείται να δημοσιεύει «δεσμεύσεις κατάστασης» στο Ethereum σε περιοδική βάση. + +Ένα [σύστημα δέσμευσης](https://en.wikipedia.org/wiki/Commitment_scheme) είναι μια κρυπτογραφική τεχνική για τη δέσμευση σε μια αξία ή δήλωση χωρίς αυτή να αποκαλυφθεί σε άλλο μέρος. Οι δεσμεύσεις είναι «δεσμευτικές» με την έννοια ότι δεν μπορείτε να αλλάξετε την αξία ή τη δήλωση αφού δεσμευτείτε σε αυτήν. Οι δεσμεύσεις κατάστασης στο Plasma έχουν τη μορφή των «ριζών Merkle» (που προέρχονται από ένα [δέντρο Merkle](/whitepaper/#merkle-trees)) τις οποίες ο χειριστής στέλνει κατά διαστήματα στο συμβόλαιο Plasma στην αλυσίδα Ethereum. + +Οι ρίζες Merkle είναι κρυπτογραφικά πρωτογενή στοιχεία που επιτρέπουν τη συμπίεση μεγάλων ποσοτήτων πληροφοριών. Μια ρίζα Merkle (που ονομάζεται επίσης «ρίζα μπλοκ» σε αυτή την περίπτωση) θα μπορούσε να αντιπροσωπεύει όλες τις συναλλαγές σε ένα μπλοκ. Οι ρίζες Merkle διευκολύνουν επίσης την επαλήθευση ότι ένα μικρό κομμάτι δεδομένων είναι μέρος του μεγαλύτερου συνόλου δεδομένων. Για παράδειγμα, ένας χρήστης μπορεί να παραγάγει μια [απόδειξη Merkle](/developers/tutorials/merkle-proofs-for-offline-data-integrity/#main-content) για να αποδείξει τη συμπερίληψη μιας συναλλαγής σε ένα συγκεκριμένο μπλοκ. + +Τα Merkle roots είναι σημαντικά για την παροχή πληροφοριών σχετικά με την κατάσταση εκτός αλυσίδας στο Ethereum. Μπορείτε να σκεφτείτε τις ρίζες Merkle σας ως «σημεία αποθήκευσης»: ο χειριστής λέει «Αυτή είναι η κατάσταση της αλυσίδας Plasma στο x χρονικό σημείο, και αυτή είναι η ρίζα Merkle ως απόδειξη». Ο χειριστής δεσμεύεται στην _τρέχουσα κατάσταση_ της αλυσίδας plasma με ρίζα Merkle, γι' αυτό ονομάζεται «δέσμευση κατάστασης». + +### Είσοδοι και έξοδοι {#entries-and-exits} + +Προκειμένου οι χρήστες του Ethereum να επωφεληθούν από το Plasma, πρέπει να υπάρχει ένας μηχανισμός για τη μεταφορά κεφαλαίων μεταξύ των αλυσίδων Kεντρικού Δικτύου και plasma. Δεν μπορούμε να στείλουμε αυθαίρετα ether σε μια διεύθυνση στην αλυσίδα plasma, όμως. Αυτές οι αλυσίδες είναι ασύμβατες, επομένως η συναλλαγή είτε θα αποτύγχανε είτε θα οδηγούσε σε απώλεια κεφαλαίων. + +Το Plasma χρησιμοποιεί ένα κύριο συμβόλαιο που εκτελείται στο Ethereum για να επεξεργαστεί τις εισόδους και τις εξόδους των χρηστών. Αυτή η κύρια σύμβαση είναι επίσης υπεύθυνη για την παρακολούθηση των δεσμεύσεων κατάστασης (όπως εξηγήθηκε νωρίτερα) και την τιμωρία της μη ειλικρινούς συμπεριφοράς μέσω αποδείξεων απάτης (περισσότερα για αυτό αργότερα). + +#### Είσοδος στην αλυσίδα plasma {#entering-the-plasma-chain} + +Για να εισέλθει στην αλυσίδα plasma, η Alice (ο χρήστης) θα πρέπει να καταθέσει ETH ή οποιοδήποτε token ERC-20 στο συμβόλαιο plasma. Ο χειριστής του plasma, ο οποίος παρακολουθεί τις καταθέσεις συμβολαίων, αναδημιουργεί ένα ποσό ίσο με την αρχική κατάθεση της Alice και το αποδεσμεύει στη διεύθυνσή της στην αλυσίδα plasma. Η Alice πρέπει να βεβαιώσει ότι έλαβε τα χρήματα στην αλυσίδα-τέκνο και στη συνέχεια μπορεί να χρησιμοποιήσει αυτά τα χρήματα για συναλλαγές. + +#### Έξοδος από την αλυσίδα plasma {#exiting-the-plasma-chain} + +Η έξοδος από την αλυσίδα plasma είναι πιο περίπλοκη από την είσοδο σε αυτήν για διάφορους λόγους. Ο σημαντικότερος λόγος είναι ότι, ενώ το Ethereum έχει πληροφορίες σχετικά με την κατάσταση της αλυσίδας plasma, δεν μπορεί να επαληθεύσει εάν οι πληροφορίες είναι αληθείς ή όχι. Ένας κακόβουλος χρήστης θα μπορούσε να κάνει έναν εσφαλμένο ισχυρισμό ("Έχω 1000 ETH") και να ξεφύγει παρέχοντας πλαστές αποδείξεις για να υποστηρίξει τον ισχυρισμό. + +Για την αποτροπή κακόβουλων αναλήψεων, εισάγεται μια «περίοδος πρόκλησης». Κατά τη διάρκεια της περιόδου πρόκλησης (συνήθως μια εβδομάδα), οποιοσδήποτε μπορεί να αμφισβητήσει ένα αίτημα ανάληψης χρησιμοποιώντας μια απόδειξη απάτης. Εάν η πρόκληση είναι επιτυχημένη, τότε το αίτημα ανάληψης απορρίπτεται. + +Ωστόσο, συνήθως οι χρήστες είναι ειλικρινείς και υποβάλλουν σωστές αναλήψεις σχετικά με το κεφάλαιο που διαθέτουν. Σε αυτό το σενάριο, η Alice θα ξεκινήσει ένα αίτημα ανάληψής στη βασική αλυσίδα (Ethereum) υποβάλλοντας μια συναλλαγή στο συμβόλαιο plasma. + +Πρέπει επίσης να παράσχει ένα αποδεικτικό Merkle που να επαληθεύει ότι μια συναλλαγή που δημιουργεί τα χρήματά της στην αλυσίδα Plasma συμπεριλήφθηκε σε ένα μπλοκ. Αυτό είναι απαραίτητο για επαναλήψεις του Plasma, όπως το [Plasma MVP](https://www.learnplasma.org/en/learn/mvp.html), που χρησιμοποιούν ένα μοντέλο [Unspent Transaction Output (UTXO)](https://en.wikipedia.org/wiki/Unspent_transaction_output). + +Άλλα, όπως το [Plasma Cash](https://www.learnplasma.org/en/learn/cash.html), αντιπροσωπεύουν τα κεφάλαια ως [μη εναλλάξιμα κρυπτοπαραστατικά](/developers/docs/standards/tokens/erc-721/) αντί για UTXO. Η ανάληψη, σε αυτή την περίπτωση, απαιτεί απόδειξη της ιδιοκτησίας των token στην αλυσίδα Plasma. Αυτό γίνεται με την υποβολή των δύο τελευταίων συναλλαγών που περιλαμβάνουν το token και την παροχή μιας απόδειξης Merkle που επαληθεύει τη συμπερίληψη αυτών των συναλλαγών σε ένα μπλοκ. + +Ο χρήστης πρέπει επίσης να προσθέσει μια εγγύηση στο αίτημα ανάληψης ως εγγύηση έντιμης συμπεριφοράς. Εάν ένας αμφισβητίας αποδείξει ότι το αίτημα ανάληψης της Alice δεν είναι έγκυρο, ο δεσμός της περικόπτεται και ένα μέρος του πηγαίνει στον αμφισβητία ως ανταμοιβή. + +Εάν η περίοδος αμφισβήτησης παρέλθει χωρίς κανένας να παράσχει αποδεικτικό απάτης, το αίτημα ανάληψης της Alice θεωρείται έγκυρο, γεγονός το οποίο της επιτρέπει να ανακτήσει τις καταθέσεις της από το συμβόλαιο Plasma στο Ethereum. + +### Διαιτησία διαφορών {#dispute-arbitration} + +Όπως κάθε blockchain, οι αλυσίδες plasma χρειάζονται έναν μηχανισμό για την επιβολή της ακεραιότητας των συναλλαγών σε περίπτωση που οι συμμετέχοντες ενεργούν κακόβουλα (π.χ. διπλή δαπάνη κεφαλαίων). Για τον σκοπό αυτό, οι αλυσίδες plasma χρησιμοποιούν αποδείξεις απάτης για να επιλύσουν διαφορές σχετικά με την εγκυρότητα των μεταβάσεων κατάστασης και να τιμωρήσουν την κακή συμπεριφορά. Οι αποδείξεις απάτης χρησιμοποιούνται ως μηχανισμός μέσω του οποίου μια αλυσίδα-τέκνο Plasma υποβάλλει μια καταγγελία στη γονική της αλυσίδα ή στη βασική αλυσίδα. + +Η απόδειξη απάτης είναι απλώς ένας ισχυρισμός ότι μια συγκεκριμένη μετάβαση κατάστασης δεν είναι έγκυρη. Ένα παράδειγμα είναι η περίπτωση όπου ένας χρήστης (Alice) προσπαθεί να ξοδέψει τα ίδια χρήματα δύο φορές. Ίσως ξόδεψε το UTXO σε μια συναλλαγή με τον Bob και θέλει να ξοδέψει το ίδιο UTXO (που είναι τώρα του Bob) σε άλλη συναλλαγή. + +Για να αποτρέψει την ανάληψη, ο Bob θα κατασκευάσει ένα στοιχείο προστασίας από απάτη παρέχοντας αποδεικτικά στοιχεία ότι η Alice ξόδεψε το εν λόγω UTXO σε προηγούμενη συναλλαγή και μια απόδειξη Merkle για τη συμπερίληψη της συναλλαγής σε ένα μπλοκ. Η ίδια διαδικασία λειτουργεί στο Plasma Cash: ο Bob θα έπρεπε να παράσχει απόδειξη ότι η Alice μετέφερε νωρίτερα τα token που προσπαθεί να κάνει ανάληψη. + +Εάν η αμφισβήτηση του Bob στεφθεί από επιτυχία, το αίτημα ανάληψης της Alice ακυρώνεται. Ωστόσο, αυτή η προσέγγιση βασίζεται στην ικανότητα του Bob να παρακολουθεί την αλυσίδα για αιτήματα ανάληψης. Εάν ο Bob είναι εκτός σύνδεσης, τότε η Alice μπορεί να επεξεργαστεί την κακόβουλη ανάληψη μόλις παρέλθει η περίοδος πρόκλησης. + +## Το πρόβλημα της μαζικής εξόδου στο plasma {#the-mass-exit-problem-in-plasma} + +Το πρόβλημα μαζικής εξόδου εμφανίζεται όταν ένας μεγάλος αριθμός χρηστών προσπαθεί να κάνει ταυτόχρονα ανάληψη από μια αλυσίδα plasma. Ο λόγος που υπάρχει αυτό το πρόβλημα σχετίζεται με ένα από τα μεγαλύτερα προβλήματα του Plasma: **μη διαθεσιμότητα δεδομένων**. + +Η διαθεσιμότητα δεδομένων είναι η δυνατότητα επαλήθευσης ότι οι πληροφορίες για ένα προτεινόμενο μπλοκ πράγματι δημοσιεύτηκαν στο δίκτυο blockchain. Ένα μπλοκ είναι «μη διαθέσιμο» εάν ο παραγωγός δημοσιεύει ο ίδιος το μπλοκ, αλλά δεν παραχωρεί τα ίδια τα δεδομένα που χρησιμοποιούνται για τη δημιουργία του μπλοκ. + +Τα μπλοκ πρέπει να είναι διαθέσιμα για να μπορούν οι κόμβοι να κατεβάσουν το μπλοκ και να επαληθεύσουν την εγκυρότητα των συναλλαγών. Τα blockchains διασφαλίζουν τη διαθεσιμότητα δεδομένων αναγκάζοντας τους παραγωγούς μπλοκ να δημοσιεύουν όλα τα δεδομένα συναλλαγών στην αλυσίδα. + +Η διαθεσιμότητα δεδομένων βοηθά επίσης να κρατήσουν ασφαλές πρωτόκολλα κλιμάκωσης εκτός αλυσίδας που βασίζονται στο βασικό στρώμα του Ethereum. Εξαναγκάζοντας τους χειριστές σε αυτές τις αλυσίδες να δημοσιεύουν δεδομένα συναλλαγών στο Ethereum, οποιοσδήποτε μπορεί να αμφισβητήσει τα μη έγκυρα μπλοκ κατασκευάζοντας αποδείξεις απάτης που αναφέρονται στη σωστή κατάσταση της αλυσίδας. + +Οι αλυσίδες plasma αποθηκεύουν κυρίως δεδομένα συναλλαγών με τον χειριστή και **δεν δημοσιεύουν δεδομένα στο Κεντρικό Δίκτυο** (δηλαδή, εκτός από τις περιοδικές δεσμεύσεις κατάστασης). Αυτό σημαίνει ότι οι χρήστες πρέπει να βασίζονται στον χειριστή για την παροχή δεδομένων μπλοκ εάν χρειάζεται να δημιουργήσουν αποδείξεις απάτης που αμφισβητούν μη έγκυρες συναλλαγές. Εάν αυτό το σύστημα λειτουργεί, τότε οι χρήστες μπορούν πάντα να χρησιμοποιούν αποδείξεις απάτης για να ασφαλίζουν τα χρήματά τους. + +Το πρόβλημα ξεκινά όταν ο χειριστής, όχι οποιοσδήποτε χρήστης, είναι το μέρος που ενεργεί κακόβουλα. Επειδή ο χειριστής έχει τον αποκλειστικό έλεγχο του blockchain, έχει περισσότερα κίνητρα να προωθήσει τις μεταβάσεις μη έγκυρων καταστάσεων σε μεγαλύτερη κλίμακα, όπως η κλοπή κεφαλαίων που ανήκουν σε χρήστες στην αλυσίδα plasma. + +Σε αυτή την περίπτωση, η χρήση του κλασικού συστήματος προστασίας από απάτες δεν λειτουργεί. Ο χειριστής θα μπορούσε εύκολα να πραγματοποιήσει μια μη έγκυρη συναλλαγή μεταφέροντας τα κεφάλαια της Alice και του Bob στο πορτοφόλι του και να κρύψει τα δεδομένα που είναι απαραίτητα για τη δημιουργία της απόδειξης απάτης. Αυτό είναι δυνατό επειδή ο χειριστής δεν απαιτείται να διαθέσει δεδομένα στους χρήστες ή στο Κεντρικό Δίκτυο. + +Επομένως, η πιο αισιόδοξη λύση είναι να επιχειρηθεί «μαζική έξοδος» χρηστών από την αλυσίδα plasma. Η μαζική έξοδος επιβραδύνει το σχέδιο του κακόβουλου χειριστή για κλοπή χρημάτων και παρέχει κάποιο μέτρο προστασίας για τους χρήστες. Τα αιτήματα ανάληψης διατάσσονται με βάση το πότε δημιουργήθηκε κάθε UTXO (ή token), πράγμα που αποτρέπει τους κακόβουλους χειριστές να προηγηθούν από τους ειλικρινείς χρήστες. + +Ωστόσο, εξακολουθούμε να χρειαζόμαστε έναν τρόπο να επαληθεύσουμε την εγκυρότητα των αιτημάτων ανάληψης κατά τη διάρκεια μιας μαζικής εξόδου, για να αποτρέψουμε τους καιροσκόπους από το να εισπράξουν χρήματα από το χάος με την επεξεργασία μη έγκυρων εξόδων. Η λύση είναι απλή: πρέπει να απαιτείται από τους χρήστες να δημοσιεύσουν την τελευταία **έγκυρη κατάσταση της αλυσίδας** για να βγάλουν τα χρήματά τους. + +Αλλά αυτή η προσέγγιση εξακολουθεί να παρουσιάζει προβλήματα. Για παράδειγμα, εάν όλοι οι χρήστες σε μια αλυσίδα plasma πρέπει να εξέλθουν (κάτι που είναι δυνατό στην περίπτωση ενός κακόβουλου χειριστή), τότε ολόκληρη η έγκυρη κατάσταση της αλυσίδας plasma πρέπει να απορριφθεί αμέσως στο βασικό στρώμα του Ethereum. Με το αυθαίρετο μέγεθος των αλυσίδων plasma (υψηλή απόδοση = περισσότερα δεδομένα) και τους περιορισμούς στις ταχύτητες επεξεργασίας του Ethereum, δεν πρόκειται για ιδανική λύση. + +Αν και τα παιχνίδια εξόδου ακούγονται καλά στη θεωρία, οι μαζικές έξοδοι στην πραγματική ζωή πιθανότατα θα προκαλέσουν μαζική συμφόρηση σε όλο το δίκτυο του Ethereum. Εκτός από το ότι βλάπτει τη λειτουργικότητα του Ethereum, μια κακώς συντονισμένη μαζική έξοδος σημαίνει ότι οι χρήστες ενδέχεται να μην μπορούν να κάνουν ανάληψη χρημάτων πριν ο χειριστής στραγγίσει κάθε λογαριασμό στην αλυσίδα plasma. + +## Πλεονεκτήματα και μειονεκτήματα του plasma {#pros-and-cons-of-plasma} + +| Πλεονεκτήματα | Μειονεκτήματα | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Προσφέρει υψηλή απόδοση και χαμηλό κόστος ανά συναλλαγή. | Δεν υποστηρίζει γενικούς υπολογισμούς (δεν είναι δυνατή η εκτέλεση έξυπνων συμβολαίων). Μόνο οι βασικές μεταφορές κρυπτονομισμάτων, οι ανταλλαγές και ορισμένοι άλλοι τύποι συναλλαγών υποστηρίζονται μέσω της λογικής κατηγοριοποίησης. | +| Κατάλληλο για συναλλαγές μεταξύ αυθαίρετων χρηστών (χωρίς γενικά έξοδα ανά ζεύγος χρηστών, εάν και τα δύο είναι εγκατεστημένα στην αλυσίδα πλάσματος) | Πρέπει να παρακολουθείται περιοδικά το δίκτυο (απαίτηση ζωτικότητας) ή να ανατίθεται αυτή η ευθύνη σε κάποιον άλλο για να διασφαλιστεί η ασφάλεια των κεφαλαίων σας. | +| Οι αλυσίδες plasma μπορούν να προσαρμοστούν σε συγκεκριμένες περιπτώσεις χρήσης που δεν σχετίζονται με την κύρια αλυσίδα. Οποιοσδήποτε, συμπεριλαμβανομένων των επιχειρήσεων, μπορεί να προσαρμόσει τα έξυπνα συμβόλαια Plasma για να παρέχει επεκτάσιμη υποδομή που λειτουργεί σε διαφορετικά περιβάλλοντα. | Βασίζεται σε έναν ή περισσότερους χειριστές για την αποθήκευση και εξυπηρέτηση δεδομένων κατόπιν αιτήματος. | +| Μειώνει το φορτίο στο Ethereum Mainnet μετακινώντας τον υπολογισμό και την αποθήκευση εκτός αλυσίδας. | Οι αναλήψεις καθυστερούν αρκετές ημέρες για να ληφθούν υπόψη αμφισβητήσεις. Για τα ανταλλάξιμα περιουσιακά στοιχεία, αυτό μπορεί να μετριαστεί από τους παρόχους ρευστότητας, αλλά υπάρχει σχετικό κόστος κεφαλαίου. | +| | Εάν υπερβολικά πολλοί χρήστες προσπαθήσουν να βγουν ταυτόχρονα, το Κεντρικό Δίκτυο Ethereum θα μπορούσε να έρθει αντιμέτωπο με συμφόρηση. | + +## Plasma vs πρωτόκολλα κλιμάκωσης επίπεδου 2 {#plasma-vs-layer-2} + +Ενώ το Plasma κάποτε θεωρείτο μια χρήσιμη λύση κλιμάκωσης για το Ethereum, έκτοτε απορρίφθηκε υπέρ των [πρωτόκολλων κλιμάκωσης επιπέδου 2 (L2)](/layer-2/). Οι λύσεις κλιμάκωσης L2 διορθώνουν αρκετά από τα προβλήματα του Plasma: + +### Αποδοτικότητα {#efficiency} + +[Zero-Knowledge rollups](/developers/docs/scaling/zk-rollups) δημιουργούν κρυπτογραφικές αποδείξεις της εγκυρότητας κάθε παρτίδας συναλλαγών που υποβάλλονται σε επεξεργασία εκτός αλυσίδας. Αυτό εμποδίζει τους χρήστες (και τους χειριστές) να προωθήσουν τις μεταβάσεις μη έγκυρων καταστάσεων, εξαλείφοντας την ανάγκη για περιόδους πρόκλησης και παιχνίδια εξόδου. Σημαίνει επίσης ότι οι χρήστες δεν χρειάζεται να παρακολουθούν την αλυσίδα σε περιοδική βάση για να κρατήσουν ασφαλή τα χρήματά τους. + +### Υποστήριξη για έξυπνα συμβόλαια {#support-for-smart-contracts} + +Ένα άλλο πρόβλημα με το πλαίσιο plasma ήταν [η αδυναμία υποστήριξης της εκτέλεσης έξυπνων συμβολαίων Ethereum](https://ethresear.ch/t/why-smart-contracts-are-not-feasible-on-plasma/2598/4). Ως αποτέλεσμα, οι περισσότερες υλοποιήσεις του Plasma κατασκευάστηκαν κυρίως για απλές πληρωμές ή για ανταλλαγή token ERC-20. + +Αντίθετα, τα optimistic rollup είναι συμβατά με το [Εικονικό μηχάνημα του Ethereum](/developers/docs/evm/) και μπορούν να εκτελούν [έξυπνα συμβόλαια](/developers/docs/smart-contracts/) του Ethereum, πράγμα που τα καθιστά μια χρήσιμη και _ασφαλή_ λύση για κλιμάκωση [αποκεντρωμένων εφαρμογών](/developers/docs/dapps/). Ομοίως, βρίσκονται σε εξέλιξη σχέδια για τη [δημιουργία υλοποίησης μηδενικής γνώσης του EVM (zkEVM)](https://ethresear.ch/t/a-zk-evm-specification/11549) που θα επιτρέπει στα ZK-rollup να επεξεργάζονται αυθαίρετη λογική και να εκτελούν έξυπνα συμβόλαια. + +### Μη διαθεσιμότητα δεδομένων {#data-unavailability} + +Όπως εξηγήθηκε προηγουμένως, το plasma πάσχει από πρόβλημα διαθεσιμότητας δεδομένων. Εάν ένας κακόβουλος χειριστής προωθούσε μια μη έγκυρη μετάβαση στην αλυσίδα plasma, οι χρήστες δεν θα ήταν σε θέση να την αμφισβητήσουν, καθώς ο χειριστής μπορεί να παρακρατήσει δεδομένα που απαιτούνται για τη δημιουργία της απόδειξης απάτης. Τα rollup λύνουν αυτό το πρόβλημα μέσω του εξαναγκασμού των χειριστών να δημοσιεύουν δεδομένα συναλλαγών στο Ethereum, πράγμα που επιτρέπει σε οποιονδήποτε να επαληθεύσει την κατάσταση της αλυσίδας και να δημιουργήσει αποδείξεις απάτης εάν είναι απαραίτητο. + +### Πρόβλημα μαζικής εξόδου {#mass-exit-problem} + +Τα ZK-rollup και τα optimistic rollup επιλύουν το πρόβλημα μαζικής εξόδου του Plasma με διάφορους τρόπους. Για παράδειγμα, ένα ZK-rollup βασίζεται σε κρυπτογραφικούς μηχανισμούς που διασφαλίζουν ότι οι χειριστές δεν μπορούν να κλέψουν χρήματα χρηστών σε κανένα σενάριο. + +Ομοίως, τα optimistic rollup επιβάλλουν μια περίοδο καθυστέρησης στις αναλήψεις κατά την οποία ο καθένας μπορεί να ξεκινήσει μια αμφισβήτηση και να αποτρέψει κακόβουλα αιτήματα ανάληψης. Αν και αυτή η περίπτωση είναι παρόμοια με το Plasma, η διαφορά είναι ότι οι επαληθευτές έχουν πρόσβαση στα δεδομένα που απαιτούνται για τη δημιουργία αποδείξεων απάτης. Επομένως, δεν χρειάζεται να συμμετέχουν οι χρήστες rollup σε μια ξέφρενη, «όποιος βγει πρώτος» μετεγκατάσταση στο Κεντρικό Δίκτυο Ethereum. + +## Σε τι διαφέρει το Plasma από τις πλευρικές αλυσίδες και την τμηματοποίηση; {#plasma-sidechains-sharding} + +Το πλάσμα, οι πλευρικές αλυσίδες και η τμηματοποίηση είναι αρκετά παρόμοια επειδή όλα συνδέονται με το Ethereum Mainnet με κάποιο τρόπο. Ωστόσο, το επίπεδο και η ισχύς αυτών των συνδέσεων ποικίλλουν, γεγονός που επηρεάζει τις ιδιότητες ασφαλείας κάθε λύσης κλιμάκωσης. + +### Plasma ή πλευρικές αλυσίδες {#plasma-vs-sidechains} + +Μια [πλευρική αλυσίδα](/developers/docs/scaling/sidechains/) είναι ένα ανεξάρτητο blockchain που συνδέεται με το Κεντρικό Δίκτυο Ethereum μέσω μιας αμφίδρομης γέφυρας. Οι [γέφυρες](/bridges/) επιτρέπουν στους χρήστες να ανταλλάσσουν token μεταξύ των δύο blockchain για συναλλαγές στην πλευρική αλυσίδα, μειώνοντας τη συμφόρηση στο Κεντρικό Δίκτυο Ethereum και βελτιώνοντας την επεκτασιμότητα. Οι πλευρικές αλυσίδες χρησιμοποιούν έναν ξεχωριστό μηχανισμό συναίνεσης και είναι συνήθως πολύ μικρότερες από το Κεντρικό Δίκτυο Ethereum. Ως αποτέλεσμα, η γεφύρωση περιουσιακών στοιχείων σε αυτές τις αλυσίδες συνεπάγεται αυξημένο κίνδυνο. Δεδομένης της έλλειψης εγγυήσεων ασφαλείας που κληρονομήθηκαν από το Κεντρικό Δίκτυο Ethereum στο μοντέλο πλευρικής αλυσίδας, οι χρήστες διακινδυνεύουν την απώλεια κεφαλαίων σε μια επίθεση στην πλευρική αλυσίδα. + +Αντίθετα, οι αλυσίδες plasma αντλούν την ασφάλειά τους από το Κεντρικό Δίκτυο. Αυτό τις καθιστά αρκετά πιο ασφαλείς από τις πλευρικές αλυσίδες. Τόσο οι πλευρικές αλυσίδες όσο και οι αλυσίδες plasma μπορούν να έχουν διαφορετικά πρωτόκολλα συναίνεσης, αλλά η διαφορά είναι ότι οι αλυσίδες plasma δημοσιεύουν ρίζες Merkle για κάθε μπλοκ στο Κεντρικό Δίκτυο Ethereum. Οι ρίζες μπλοκ είναι μικρά κομμάτια πληροφοριών που μπορούμε να χρησιμοποιήσουμε για να επαληθεύσουμε πληροφορίες σχετικά με συναλλαγές που συμβαίνουν σε μια αλυσίδα plasma. Εάν συμβεί μια επίθεση σε μια αλυσίδα plasma, οι χρήστες μπορούν να αποσύρουν με ασφάλεια τα χρήματά τους πίσω στο Κεντρικό Δίκτυο χρησιμοποιώντας τις κατάλληλες αποδείξεις. + +### Plasma ή τμηματοποίηση {#plasma-vs-sharding} + +Τόσο οι αλυσίδες plasma όσο και οι αλυσίδες shard δημοσιεύουν σε περιοδική βάση κρυπτογραφικές αποδείξεις στο Κεντρικό Δίκτυο Ethereum. Ωστόσο, και οι δύο έχουν διαφορετικές ιδιότητες ασφαλείας. + +Οι αλυσίδες τμηματοποίησης δεσμεύουν τις "επικεφαλίδες ταξινόμησης" στο Κεντρικό δίκτυο που περιέχουν λεπτομερείς πληροφορίες για κάθε τμήμα δεδομένων. Οι κόμβοι στο Κεντρικό Δίκτυο επαληθεύουν και επιβάλλουν την εγκυρότητα των τμημάτων δεδομένων, μειώνοντας την πιθανότητα μη έγκυρων μεταβάσεων τμημάτων και προστατεύοντας το δίκτυο από κακόβουλη δραστηριότητα. + +Το Plasma είναι διαφορετικό επειδή το Κεντρικό Δίκτυο λαμβάνει ελάχιστες πληροφορίες σχετικά με την κατάσταση των αλυσίδων-τέκνων. Αυτό σημαίνει ότι το Κεντρικό Δίκτυο δεν μπορεί να επαληθεύσει αποτελεσματικά τις συναλλαγές που πραγματοποιούνται σε αλυσίδες-τέκνα, πράγμα που τις καθιστά λιγότερο ασφαλείς. + +**Λάβετε υπόψη** ότι η κοινή χρήση της κρυπτοαλυσίδας Ethereum δεν είναι πλέον στον οδικό χάρτη. Έχει αντικατασταθεί από την κλιμάκωση μέσω rollup και [Danksharding](/roadmap/danksharding). + +### Χρήση Plasma {#use-plasma} + +Πολλά έργα παρέχουν υλοποιήσεις Plasma που μπορείτε να ενσωματώσετε στις dapp σας: + +- [Polygon](https://polygon.technology/) (παλαιότερα Matic Network) + +## Περισσότερες πληροφορίες {#further-reading} + +- [Μάθετε Plasma](https://www.learnplasma.org/en/) +- [Μια γρήγορη υπενθύμιση του τι σημαίνει "κοινή ασφάλεια" και γιατί είναι τόσο σημαντική](https://old.reddit.com/r/ethereum/comments/sgd3zt/a_quick_reminder_of_what_shared_security_means/) +- [Πλευρικές αλυσίδες vs Plasma vs Sharding](https://vitalik.eth.limo/general/2019/06/12/plasma_vs_sharding.html) +- [Κατανοώντας το Plasma, Μέρος 1: Τα Βασικά](https://www.theblockcrypto.com/amp/post/10793/understanding-plasma-part-1-the-basics) +- [Η Ζωή και ο Θάνατος του Plasma](https://medium.com/dragonfly-research/the-life-and-death-of-plasma-b72c6a59c5ad#) + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ diff --git a/public/content/translations/el/developers/docs/scaling/sidechains/index.md b/public/content/translations/el/developers/docs/scaling/sidechains/index.md new file mode 100644 index 00000000000..cc57aa4f1c1 --- /dev/null +++ b/public/content/translations/el/developers/docs/scaling/sidechains/index.md @@ -0,0 +1,73 @@ +--- +title: Πλευρικές αλυσίδες +description: Μια εισαγωγή στις πλευρικές αλυσίδες ως λύση επεκτασιμότητας που χρησιμοποιείται επί του παρόντος από την κοινότητα του Ethereum. +lang: el +sidebarDepth: 3 +--- + +Μια πλευρική αλυσίδα είναι ένα ξεχωριστό blockchain που λειτουργεί ανεξάρτητα από το Ethereum και συνδέεται με το Κεντρικό Δίκτυο του Ethereum μέσω μιας αμφίδρομης γέφυρας. Οι πλευρικές αλυσίδες μπορούν να έχουν ξεχωριστές παραμέτρους μπλοκ και [αλγόριθμους συναίνεσης](/developers/docs/consensus-mechanisms/), οι οποίοι συχνά σχεδιάζονται για την αποτελεσματική επεξεργασία των συναλλαγών. Ωστόσο, η χρήση μιας πλευρικής αλυσίδας συνεπάγεται συμβιβασμούς, καθώς δεν κληρονομούν τα χαρακτηριστικά ασφαλείας του Ethereum. Σε αντίθεση με τις [λύσεις κλιμάκωσης επιπέδου 2](/layer-2/), οι πλευρικές αλυσίδες δεν δημοσιεύουν αλλαγές κατάστασης και δεδομένα συναλλαγών στο Κεντρικό Δίκτυο του Ethereum. + +Οι πλευρικές αλυσίδες θυσιάζουν επίσης κάποιο μέτρο αποκέντρωσης ή ασφάλειας για να επιτύχουν υψηλή απόδοση ([τρίλημμα επεκτασιμότητας](https://vitalik.eth.limo/general/2021/05/23/scaling.html)). Το Ethereum, ωστόσο, δεσμεύεται να κλιμακώσει χωρίς να διακυβεύονται η αποκέντρωση και η ασφάλεια, όπως περιγράφεται στη [δήλωση οράματος](/roadmap/vision/) για αναβαθμίσεις. + +## Πώς λειτουργούν οι πλευρικές αλυσίδες; {#how-do-sidechains-work} + +Οι πλευρικές αλυσίδες είναι ανεξάρτητα blockchain, με διαφορετικές ιστορίες, οδικούς χάρτες ανάπτυξης και εκτιμήσεις σχεδιασμού. Ενώ μια πλευρική αλυσίδα μπορεί να παρουσιάζει κάποιες ομοιότητες σε επίπεδο επιφάνειας με το Ethereum, έχει μερικά ιδιαίτερα χαρακτηριστικά. + +### Αλγόριθμοι συναίνεσης {#consensus-algorithms} + +Μία από τις ιδιότητες που κάνουν τις πλευρικές αλυσίδες μοναδικές (δηλαδή διαφορετικές από το Ethereum) είναι ο αλγόριθμος συναίνεσης που χρησιμοποιείται. Οι πλευρικές αλυσίδες δεν βασίζονται στο Ethereum για συναίνεση και μπορούν να επιλέξουν εναλλακτικά πρωτόκολλα συναίνεσης που να ταιριάζουν στις ανάγκες τους. Μερικά παραδείγματα αλγορίθμων συναίνεσης που χρησιμοποιούνται σε πλευρικές αλυσίδες περιλαμβάνουν: + +- [Απόδειξη Αρχής](/developers/docs/consensus-mechanisms/poa/) +- [Κατ' εξουσιοδότηση απόδειξη συμμετοχής](https://en.bitcoin.it/wiki/Delegated_proof_of_stake) +- [Ανοχή βυζαντινών σφαλμάτων](https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained). + +Όπως και το Ethereum, οι πλευρικές αλυσίδες έχουν κόμβους επικύρωσης που επαληθεύουν και επεξεργάζονται συναλλαγές, παράγουν μπλοκ και αποθηκεύουν την κατάσταση του blockchain. Οι επικυρωτές είναι επίσης υπεύθυνοι για τη διατήρηση της συναίνεσης σε όλο το δίκτυο και την ασφάλειά του από κακόβουλες επιθέσεις. + +#### Παράμετροι μπλοκ {#block-parameters} + +Το Ethereum θέτει όρια στους [χρόνους των μπλοκ](/developers/docs/blocks/#block-time) (δηλαδή, στον χρόνο που απαιτείται για την παραγωγή νέων μπλοκ) και τα [μεγέθη των μπλοκ](/developers/docs/blocks/#block-size) (δηλαδή, η ποσότητα δεδομένων που περιέχονται ανά μπλοκ εκφραζόμενη σε gas). Αντίθετα, οι πλευρικές αλυσίδες συχνά υιοθετούν διαφορετικές παραμέτρους, όπως ταχύτερους χρόνους μπλοκ και υψηλότερα όρια gas, για να πετύχουν υψηλή απόδοση, γρήγορες συναλλαγές και χαμηλά τέλη. + +Παρόλο που αυτό έχει κάποια πλεονεκτήματα, έχει και κρίσιμες επιπτώσεις για την αποκέντρωση και την ασφάλεια του δικτύου. Οι παράμετροι των μπλοκ, όπως οι γρήγοροι χρόνοι μπλοκ και τα μεγάλα μεγέθη μπλοκ, αυξάνουν τη δυσκολία εκτέλεσης ενός πλήρους κόμβου, με αποτέλεσμα να μένουν μερικοί «υπερκόμβοι» υπεύθυνοι για την ασφάλιση της αλυσίδας. Σε ένα τέτοιο σενάριο, αυξάνεται η πιθανότητα συμπαιγνίας επικυρωτών ή κακόβουλης εξαγοράς της αλυσίδας. + +Για να κλιμακωθούν τα blockchain χωρίς να βλάψουν την αποκέντρωση, η λειτουργία ενός κόμβου πρέπει να είναι ανοιχτή σε όλους —όχι απαραίτητα σε ομάδες με εξειδικευμένο υλικό. Αυτός είναι ο λόγος για τον οποίο γίνονται προσπάθειες να διασφαλιστεί ότι όλοι μπορούν να [λειτουργούν έναν πλήρη κόμβο](/developers/docs/nodes-and-clients/#why-should-i-run-an-ethereum-node) στο δίκτυο Ethereum. + +### Συμβατότητα EVM {#evm-compatibility} + +Ορισμένες πλευρικές αλυσίδες είναι συμβατές με EVM και μπορούν να εκτελούν συμβόλαια που έχουν αναπτυχθεί για το [Εικονικό μηχάνημα του Ethereum (EVM)](/developers/docs/evm/). Οι πλευρικές αλυσίδες που είναι συμβατές με EVM υποστηρίζουν έξυπνα συμβόλαια [γραμμένα σε Solidity](/developers/docs/smart-contracts/languages/), καθώς και άλλες γλώσσες έξυπνων συμβολαίων EVM, πράγμα που σημαίνει ότι τα έξυπνα συμβόλαια που έχουν γραφτεί για το Κεντρικό Δίκτυο του Ethereum θα λειτουργούν και σε πλευρικές αλυσίδες συμβατές με EVM. + +Εάν, λοιπόν, θέλετε να χρησιμοποιήσετε την [dapp](/developers/docs/dapps/) σας σε μια πλευρική αλυσίδα, πρέπει απλώς να αναπτύξετε το [έξυπνο συμβόλαιό σας](/developers/docs/smart-contracts/) σε αυτή την πλευρική αλυσίδα. Έχει την ίδια όψη, αίσθηση και συμπεριφορά με το Κεντρικό Δίκτυο: γράφετε συμβόλαια στο Solidity και αλληλεπιδράτε με την αλυσίδα μέσω των πλευρικών αλυσίδων RPC. + +Επειδή οι πλευρικές αλυσίδες είναι συμβατές με EVM, θεωρούνται χρήσιμη [λύση επεκτασιμότητας](/developers/docs/scaling/) για εγγενείς εφαρμογές Ethereum. Με την dapp σας σε πλευρική αλυσίδα, οι χρήστες μπορούν να απολαμβάνουν χαμηλότερες χρεώσεις gas και πιο γρήγορες συναλλαγές, ειδικά εάν το Κεντρικό Δίκτυο έχει συμφόρηση. + +Ωστόσο, όπως εξηγήθηκε προηγουμένως, η χρήση πλευρικών αλυσίδων συνεπάγεται σημαντικούς συμβιβασμούς. Κάθε πλευρική αλυσίδα είναι υπεύθυνη για την ασφάλειά του και δεν κληρονομεί τις ιδιότητες ασφάλειας του Ethereum. Αυτό αυξάνει την πιθανότητα κακόβουλης συμπεριφοράς που μπορεί να επηρεάσει τους χρήστες σας ή να θέσει τα χρήματά τους σε κίνδυνο. + +### Κίνηση κεφαλαίου {#asset-movement} + +Προκειμένου ένα ξεχωριστό blockchain να γίνει πλευρική αλυσίδα στο Κεντρικό Δίκτυο του Ethereum, χρειάζεται τη δυνατότητα να διευκολύνει τη μεταφορά περιουσιακών στοιχείων από και προς το Κεντρικό Δίκτυο του Ethereum. Αυτή η διαλειτουργικότητα με το Ethereum επιτυγχάνεται με τη χρήση γέφυρας blockchain. Οι [γέφυρες](/bridges/) χρησιμοποιούν έξυπνα συμβόλαια που αναπτύσσονται στο Κεντρικό Δίκτυο του Ethereum και μια πλευρική αλυσίδα για τον έλεγχο της γεφύρωσης των κεφαλαίων μεταξύ τους. + +Ενώ οι γέφυρες βοηθούν τους χρήστες να μετακινούν κεφάλαια μεταξύ του Ethereum και τις πλευρικές αλυσίδες, τα περιουσιακά στοιχεία δεν αποτελούν αντικείμενο φυσικής μετακίνησης στις δύο αλυσίδες. Αντίθετα, μηχανισμοί που συνήθως περιλαμβάνουν κοπή νομίσματος και καύση χρησιμοποιούνται για τη μεταφορά αξίας μεταξύ των αλυσίδων. Περισσότερα για το [πώς λειτουργούν οι γέφυρες](/developers/docs/bridges/#how-do-bridges-work). + +## Πλεονεκτήματα και μειονεκτήματα πλευρικών αλυσίδων {#pros-and-cons-of-sidechains} + +| Πλεονεκτήματα | Μειονεκτήματα | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| Η τεχνολογία που στηρίζει τις πλευρικές αλυσίδες είναι καθιερωμένη και επωφελείται από εκτεταμένη έρευνα και βελτιώσεις στον σχεδιασμό. | Οι πλευρικές αλυσίδες ανταλλάσσουν κάποιο μέτρο αποκέντρωσης και εμπιστοσύνης έναντι της επεκτασιμότητας. | +| Οι πλευρικές αλυσίδες υποστηρίζουν γενικούς υπολογισμούς και προσφέρουν συμβατότητα EVM (μπορούν να εκτελέσουν εγγενείς εφαρμογές Ethereum). | Μια πλευρική αλυσίδα χρησιμοποιεί έναν ξεχωριστό μηχανισμό συναίνεσης και δεν επωφελείται από τις εγγυήσεις ασφάλειας του Ethereum. | +| Οι πλευρικές αλυσίδες χρησιμοποιούν διαφορετικά μοντέλα συναίνεσης για την αποτελεσματική επεξεργασία συναλλαγών και τη μείωση χρεώσεων συναλλαγών για τους χρήστες. | Οι πλευρικές αλυσίδες απαιτούν υψηλότερες παροχές εμπιστοσύνης (π.χ. απαρτία κακόβουλων επικυρωτών πλευρικής αλυσίδας μπορεί να διαπράξει απάτη). | +| Οι συμβατές πλευρικές αλυσίδες με EVM επιτρέπουν στις dapps να επεκτείνουν το οικοσύστημά τους. | | + +### Χρήση πλευρικών αλυσίδων {#use-sidechains} + +Πολλά έργα παρέχουν υλοποιήσεις πλευρικών αλυσίδων που μπορείτε να ενσωματώσετε στις dapps σας: + +- [Polygon PoS](https://polygon.technology/solutions/polygon-pos) +- [Skale](https://skale.network/) +- [Gnosis Chain (γνωστό ως xDai)](https://www.gnosischain.com/) +- [Δίκτυο Loom](https://loomx.io/) +- [Metis Andromeda](https://www.metis.io/) + +## Περισσότερες πληροφορίες {#further-reading} + +- [Κλιμάκωση Ethereum Dapps μέσω πλευρικών αλυσίδων](https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447) *8 Φεβ 2018 - Γεώργιος Κωνσταντόπουλος* + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ diff --git a/public/content/translations/el/developers/docs/scaling/state-channels/index.md b/public/content/translations/el/developers/docs/scaling/state-channels/index.md new file mode 100644 index 00000000000..c68bd14973c --- /dev/null +++ b/public/content/translations/el/developers/docs/scaling/state-channels/index.md @@ -0,0 +1,261 @@ +--- +title: Κανάλια κατάστασης +description: Μια εισαγωγή στα κανάλια κατάστασης και στα κανάλια πληρωμής ως λύση κλιμάκωσης που χρησιμοποιείται επί του παρόντος από την κοινότητα του Ethereum. +lang: el +sidebarDepth: 3 +--- + +Τα κανάλια κατάστασης επιτρέπουν στους συμμετέχοντες να πραγματοποιούν συναλλαγές με ασφάλεια εκτός αλυσίδας διατηρώντας παράλληλα την αλληλεπίδραση με το Ethereum Mainnet στο ελάχιστο. Οι χρήστες του καναλιού μπορούν να πραγματοποιήσουν έναν αυθαίρετο αριθμό συναλλαγών εκτός αλυσίδας, ενώ υποβάλλουν μόνο δύο συναλλαγές εντός της αλυσίδας για να ανοίξουν και να κλείσουν το κανάλι. Αυτό επιτρέπει εξαιρετικά υψηλή απόδοση συναλλαγών και έχει ως αποτέλεσμα χαμηλότερο κόστος για τους χρήστες. + +## Προαπαιτούμενα {#prerequisites} + +Θα έπρεπε να έχετε διαβάσει και κατανοήσει τις σελίδες μας για την [κλιμάκωση Ethereum](/developers/docs/scaling/) και το [επίπεδο 2](/layer-2/). + +## Τι είναι τα κανάλια; {#what-are-channels} + +Τα δημόσια blockchain, όπως το Ethereum, αντιμετωπίζουν προκλήσεις επεκτασιμότητας λόγω της κατανεμημένης αρχιτεκτονικής τους: οι συναλλαγές στην αλυσίδα πρέπει να εκτελούνται από όλους τους κόμβους. Οι κόμβοι πρέπει να είναι σε θέση να χειριστούν τον όγκο των συναλλαγών σε ένα μπλοκ χρησιμοποιώντας μέτριο υλικό, επιβάλλοντας ένα όριο στην απόδοση συναλλαγών για να διατηρηθεί το δίκτυο αποκεντρωμένο. Τα κανάλια blockchain λύνουν αυτό το πρόβλημα επιτρέποντας στους χρήστες να αλληλεπιδρούν εκτός αλυσίδας ενώ εξακολουθούν να βασίζονται στην ασφάλεια της κύριας αλυσίδας για τον τελικό διακανονισμό. + +Τα κανάλια είναι απλά πρωτόκολλα peer-to-peer που επιτρέπουν σε δύο μέρη να κάνουν πολλές συναλλαγές μεταξύ τους και στη συνέχεια να δημοσιεύουν μόνο τα τελικά αποτελέσματα στην αλυσίδα μπλοκ. Το κανάλι χρησιμοποιεί κρυπτογραφία για να αποδείξει ότι τα συνοπτικά δεδομένα που παράγουν είναι πραγματικά το αποτέλεσμα ενός έγκυρου συνόλου ενδιάμεσων συναλλαγών. Ένα έξυπνο συμβόλαιο ["multisig"](/developers/docs/smart-contracts/#multisig) εξασφαλίζει ότι οι συναλλαγές υπογράφονται από τα σωστά μέρη. + +Με τα κανάλια, οι αλλαγές κατάστασης εκτελούνται και επικυρώνονται από τα ενδιαφερόμενα μέρη, ελαχιστοποιώντας τον υπολογισμό στο επίπεδο εκτέλεσης του Ethereum. Αυτό μειώνει τη συμφόρηση στο Ethereum και επίσης αυξάνει τις ταχύτητες επεξεργασίας συναλλαγών για τους χρήστες. + +Κάθε κανάλι διαχειρίζεται από ένα [έξυπνο συμβόλαιο multisig](/developers/docs/smart-contracts/#multisig) που εκτελείται στο Ethereum. Για να ανοίξει ένα κανάλι, οι συμμετέχοντες αναπτύσσουν το συμβόλαιο καναλιού στην αλυσίδα και καταθέτουν κεφάλαια σε αυτό. Και οι δύο πλευρές υπογράφουν συλλογικά μια ενημέρωση κατάστασης για να αρχικοποιήσουν την κατάσταση του καναλιού, μετά την οποία μπορούν να πραγματοποιήσουν συναλλαγές γρήγορα και ελεύθερα offchain. + +Για να κλείσει το κανάλι, οι συμμετέχοντες υποβάλλουν την τελευταία συμφωνημένη κατάσταση του καναλιού στην αλυσίδα. Στη συνέχεια, το έξυπνο συμβόλαιο διανέμει τα κλειδωμένα κεφάλαια σύμφωνα με την υπόλοιπο κάθε συμμετέχοντα στην τελική κατάσταση του καναλιού. + +Τα κανάλια peer-to-peer είναι ιδιαίτερα χρήσιμα για περιπτώσεις όπου ορισμένοι προκαθορισμένοι συμμετέχοντες επιθυμούν να πραγματοποιήσουν συναλλαγές με υψηλή συχνότητα χωρίς να προκαλέσουν ορατό κόστος. Τα κανάλια blockchain χωρίζονται σε δύο κατηγορίες: **κανάλια πληρωμών** και **κανάλια κατάστασης**. + +## Κανάλια πληρωμών {#payment-channels} + +Ένα κανάλι πληρωμών περιγράφεται καλύτερα ως ένα "διπλό λογιστικό βιβλίο" που διατηρείται συλλογικά από δύο χρήστες. Το αρχικό υπόλοιπο του λογιστικού βιβλίου είναι το άθροισμα των καταθέσεων που κλειδώνονται στο συμβόλαιο στην αλυσίδα κατά τη φάση ανοίγματος του καναλιού. Οι μεταφορές καναλιού πληρωμών μπορούν να πραγματοποιηθούν άμεσα και χωρίς τη συμμετοχή της ίδιας της κρυπτοαλυσίδας, εκτός από μια αρχική εφάπαξ δημιουργία στην αλυσίδα και ένα τελικό κλείσιμο του καναλιού. + +Οι ενημερώσεις στην υπόλοιπο του λογιστικού βιβλίου (δηλαδή, την κατάσταση του καναλιού πληρωμών) απαιτούν την έγκριση όλων των μερών στο κανάλι. Μια ενημέρωση καναλιού, υπογεγραμμένη από όλους τους συμμετέχοντες στο κανάλι, θεωρείται οριστικοποιημένη, παρόμοια με μια συναλλαγή στο Ethereum. + +Τα κανάλια πληρωμών ήταν από τις πρώτες λύσεις κλιμάκωσης που σχεδιάστηκαν για να ελαχιστοποιήσουν την ακριβή δραστηριότητα στην αλυσίδα απλών αλληλεπιδράσεων χρηστών (π.χ. μεταφορές ETH, ατομικά ανταλλάγματα, μικροπληρωμές). Οι συμμετέχοντες στο κανάλι μπορούν να πραγματοποιήσουν απεριόριστο αριθμό άμεσων συναλλαγών χωρίς προμήθειες μεταξύ τους, εφόσον το καθαρό άθροισμα των μεταφορών τους δεν υπερβαίνει τα κατατεθέντα token. + +## Κανάλια κατάστασης {#state-channels} + +Εκτός από την υποστήριξη εκτός αλυσίδας πληρωμών, τα κανάλια πληρωμών δεν έχουν αποδειχθεί χρήσιμα για τη διαχείριση γενικής λογικής μετάβασης κατάστασης. Τα κανάλια κατάστασης δημιουργήθηκαν για να λύσουν αυτό το πρόβλημα και να κάνουν τα κανάλια χρήσιμα για την κλιμάκωση του υπολογισμού γενικής χρήσης. + +Τα κανάλια κατάστασης εξακολουθούν να έχουν πολλά κοινά με τα κανάλια πληρωμών. Για παράδειγμα, οι χρήστες αλληλεπιδρούν ανταλλάσσοντας κρυπτογραφικά υπογεγραμμένα μηνύματα (συναλλαγές), τα οποία πρέπει να υπογραφούν και από τους άλλους συμμετέχοντες στο κανάλι. Εάν μια προτεινόμενη ενημέρωση κατάστασης δεν υπογραφεί από όλους τους συμμετέχοντες, θεωρείται άκυρη. + +Ωστόσο, εκτός από τη διατήρηση των υπολοίπων του χρήστη, το κανάλι παρακολουθεί επίσης την τρέχουσα κατάσταση της αποθήκευσης του συμβολαίου (δηλαδή, τις τιμές των μεταβλητών του συμβολαίου). + +Αυτό καθιστά δυνατή την εκτέλεση μιας έξυπνης σύμβασης εκτός αλυσίδας μεταξύ δύο χρηστών. Σε αυτό το σενάριο, οι ενημερώσεις στην εσωτερική κατάσταση του έξυπνου συμβολαίου απαιτούν μόνο την έγκριση των χρηστών που δημιούργησαν το κανάλι. + +Ενώ αυτό επιλύει το πρόβλημα κλιμάκωσης που περιγράφηκε προηγουμένως, έχει επιπτώσεις στην ασφάλεια. Στο Ethereum, η εγκυρότητα των μεταβάσεων κατάστασης επιβάλλεται από το πρωτόκολλο συναίνεσης του δικτύου. Αυτό καθιστά αδύνατη την πρόταση μιας άκυρης ενημέρωσης της κατάστασης μιας έξυπνης σύμβασης ή την αλλοίωση της εκτέλεσης της έξυπνης σύμβασης. + +Τα κανάλια κατάστασης δεν έχουν τις ίδιες εγγυήσεις ασφάλειας. Σε κάποιο βαθμό, ένα κανάλι κατάστασης είναι μια μικρογραφία του Mainnet. Με ένα περιορισμένο σύνολο συμμετεχόντων που επιβάλλουν κανόνες, αυξάνεται η πιθανότητα κακόβουλης συμπεριφοράς (π.χ. πρόταση άκυρων ενημερώσεων κατάστασης). Τα κανάλια κατάστασης αντλούν την ασφάλειά τους από ένα σύστημα διαιτησίας διαφοράς που βασίζεται σε [αποδείξεις απάτης](/glossary/#fraud-proof). + +## Πως λειτουργούν τα κανάλια κατάστασης {#how-state-channels-work} + +Βασικά, η δραστηριότητα σε ένα κανάλι κατάστασης είναι μια περίοδος αλληλεπιδράσεων που περιλαμβάνει χρήστες και ένα σύστημα blockchain. Χρήστες κυρίως επικοινωνούν μεταξύ τους εκτός αλυσίδας και αλληλεπιδρούν μόνο με την υποκείμενη αλυσίδα μπλοκ για να ανοίξουν το κανάλι, να κλείσουν το κανάλι ή να διευθετήσουν πιθανές διαφωνίες μεταξύ των συμμετεχόντων. + +Η ακόλουθη ενότητα περιγράφει τη βασική ροή εργασίας ενός καναλιού κατάστασης: + +### Άνοιγμα καναλιού {#opening-the-channel} + +Το άνοιγμα ενός καναλιού απαιτεί από τους συμμετέχοντες να δεσμεύσουν χρήματα σε ένα έξυπνο συμβόλαιο στο Mainnet. Η κατάθεση χρησιμεύει επίσης ως ένα εικονικό "ταμείο", ώστε οι συμμετέχοντες να μπορούν να πραγματοποιούν συναλλαγές ελεύθερα χωρίς να χρειάζεται να διευθετούν τις πληρωμές άμεσα. Μόνο όταν το κανάλι ολοκληρωθεί στην αλυσίδα, τα μέρη διευθετούν μεταξύ τους και αποσύρουν ό,τι έχει απομείνει από το "ταμείο" τους. + +Αυτή η κατάθεση χρησιμεύει επίσης ως εγγύηση για την ειλικρινή συμπεριφορά από κάθε συμμετέχοντα. Εάν οι καταθέτες κριθούν ένοχοι για κακόβουλες ενέργειες κατά τη φάση επίλυσης διαφορών, το συμβόλαιο μειώνει την κατάθεσή τους. + +Τα μέρη του καναλιού πρέπει να υπογράψουν μια αρχική κατάσταση, στην οποία όλα συμφωνούν. Αυτό χρησιμεύει ως τη γένεση του καναλιού κατάστασης, μετά την οποία οι χρήστες μπορούν να ξεκινήσουν τις συναλλαγές τους. + +### Χρήση καναλιού {#using-the-channel} + +Μετά την εκκίνηση της κατάστασης του καναλιού, οι ομότιμοι αλληλεπιδρούν υπογράφοντας συναλλαγές και στέλνοντάς τες ο ένας στον άλλον για έγκριση. Οι συμμετέχοντες ξεκινούν ενημερώσεις κατάστασης με αυτές τις συναλλαγές και υπογράφουν ενημερώσεις κατάστασης από άλλους. Κάθε συναλλαγή περιλαμβάνει τα ακόλουθα: + +- Ένα **nonce**, το οποίο λειτουργεί ως μοναδικό αναγνωριστικό για συναλλαγές και αποτρέπει επιθέσεις επανάληψης. Προσδιορίζει επίσης τη σειρά με την οποία πραγματοποιήθηκαν οι ενημερώσεις κατάστασης (η οποία είναι σημαντική για την επίλυση διαφορών) + +- Η παλιά κατάσταση του καναλιού + +- Η νέα κατάσταση του καναλιού + +- Η συναλλαγή που ενεργοποιεί τη μετάβαση κατάστασης (π.χ., η Alice στέλνει 5 ETH στον Bob) + +Οι ενημερώσεις κατάστασης στο κανάλι δε μεταδίδονται στην αλυσίδα όπως συμβαίνει συνήθως όταν οι χρήστες αλληλεπιδρούν στο Mainnet, κάτι που ευθυγραμμίζεται με τον στόχο των κρατικών καναλιών να ελαχιστοποιήσουν το αποτύπωμα στην αλυσίδα. Εφόσον οι συμμετέχοντες συμφωνούν για ενημερώσεις κατάστασης, είναι τόσο τελικές όσο μια συναλλαγή Ethereum. Οι συμμετέχοντες χρειάζεται να εξαρτώνται μόνο από τη συναίνεση του Mainnet εάν προκύψει διαφωνία. + +### Κλείσιμο καναλιού {#closing-the-channel} + +Το κλείσιμο ενός καναλιού κατάστασης απαιτεί την υποβολή της τελικής, συμφωνημένης κατάστασης του καναλιού στο έξυπνο συμβόλαιο στην αλυσίδα. Οι λεπτομέρειες που αναφέρονται στην ενημέρωση κατάστασης περιλαμβάνουν τον αριθμό των κινήσεων κάθε συμμετέχοντα και μια λίστα εγκεκριμένων συναλλαγών. + +Αφού επαληθευτεί ότι η ενημέρωση κατάστασης είναι έγκυρη (δηλαδή, έχει υπογραφεί από όλα τα μέρη), το έξυπνο συμβόλαιο οριστικοποιεί το κανάλι και διανέμει τα κλειδωμένα χρήματα σύμφωνα με το αποτέλεσμα του καναλιού. Οι πληρωμές που γίνονται εκτός αλυσίδας εφαρμόζονται στην κατάσταση του Ethereum και ο κάθε συμμετέχων λαμβάνει το υπόλοιπο μέρος των κλειδωμένων χρημάτων. + +Το σενάριο που περιγράφεται παραπάνω αντιπροσωπεύει τι συμβαίνει στην καλή περίπτωση. Μερικές φορές, οι χρήστες μπορεί να μην μπορούν να καταλήξουν σε συμφωνία και να οριστικοποιήσουν το κανάλι (η κακή περίπτωση). Οποιοδήποτε από τα ακόλουθα μπορεί να ισχύει για την κατάσταση: + +- Οι συμμετέχοντες είναι εκτός σύνδεσης και αποτυγχάνουν να προτείνουν μεταβάσεις κατάστασης + +- Οι συμμετέχοντες αρνούνται να συνυπογράψουν έγκυρες ενημερώσεις κατάστασης + +- Οι συμμετέχοντες προσπαθούν να ολοκληρώσουν το κανάλι προτείνοντας μια παλιά ενημέρωση κατάστασης στο συμβόλαιο στην αλυσίδα. + +- Οι συμμετέχοντες προτείνουν μη έγκυρες μεταβάσεις κατάστασης για να υπογράψουν άλλοι + +Κάθε φορά που διακόπτεται η συναίνεση μεταξύ των συμμετεχόντων παραγόντων σε ένα κανάλι, η τελευταία επιλογή είναι να βασιστείτε στη συναίνεση του Κεντρικού δικτύου για να επιβάλετε την τελική, έγκυρη κατάσταση του καναλιού. Σε αυτήν την περίπτωση, το κλείσιμο του καναλιού κατάστασης απαιτεί επίλυση διαφορών στην αλυσίδα. + +### Settling disputes {#settling-disputes} + +Συνήθως, τα μέλη σε ένα κανάλι συμφωνούν να κλείσουν το κανάλι εκ των προτέρων και συνυπογράφουν την τελευταία μετάβαση κατάστασης, την οποία υποβάλλουν στο έξυπνο συμβόλαιο. Μόλις εγκριθεί η ενημέρωση στην αλυσίδα, η εκτέλεση του έξυπνου συμβολαίου εκτός αλυσίδας τελειώνει και οι συμμετέχοντες εξέρχονται από το κανάλι με τα χρήματά τους. + +Ωστόσο, ένα μέρος μπορεί να υποβάλει μια αίτηση στην αλυσίδα για να τερματίσει την εκτέλεση του έξυπνου συμβολαίου και να ολοκληρώσει το κανάλι - χωρίς να περιμένει την έγκριση του άλλου μέρους. Εάν συμβεί κάποια από τις περιγραφόμενες προηγουμένως καταστάσεις παραβίασης της συναίνεσης, οποιοδήποτε μέρος μπορεί να ενεργοποιήσει το συμβόλαιο στην αλυσίδα για να κλείσει το κανάλι και να διανείμει τα κεφάλαια. Αυτό εξαλείφει την ανάγκη **απόδειξης εμπιστοσύνης**, διασφαλίζοντας ότι τα ειλικρινή μέρη μπορούν να εξέλθουν από τις καταθέσεις τους ανά πάσα στιγμή, ανεξάρτητα από τις ενέργειες του άλλου μέρους. + +Για να επεξεργαστεί την έξοδο καναλιού, ο χρήστης πρέπει να υποβάλει την τελευταία έγκυρη ενημέρωση κατάστασης της εφαρμογής στο συμβόλαιο στην αλυσίδα. Εάν αυτό είναι εντάξει (δηλαδή, φέρει την υπογραφή όλων των μελών), τότε τα κεφάλαια αναδιανέμονται υπέρ τους. + +Ωστόσο, υπάρχει καθυστέρηση στην εκτέλεση αιτημάτων εξόδου ενός χρήστη. Εάν το αίτημα για ολοκλήρωση του καναλιού εγκρίθηκε ομόφωνα, τότε η συναλλαγή εξόδου στην αλυσίδα εκτελείται αμέσως. + +Η καθυστέρηση τίθεται σε εφαρμογή σε εξόδους ενός χρήστη λόγω της πιθανότητας απατηλών ενεργειών. Για παράδειγμα, ένας συμμετέχων στο κανάλι μπορεί να προσπαθήσει να ολοκληρώσει το κανάλι στο Ethereum υποβάλλοντας μια παλαιότερη ενημέρωση κατάστασης στην αλυσίδα. + +Ως αντιστάθμισμα, τα κανάλια κατάστασης επιτρέπουν στους ειλικρινείς χρήστες να αμφισβητήσουν τις μη έγκυρες ενημερώσεις κατάστασης υποβάλλοντας την τελευταία, έγκυρη κατάσταση του καναλιού εντός αλυσίδας. Τα κανάλια κατάστασης σχεδιάζονται έτσι ώστε οι νεότερες, συμφωνημένες ενημερώσεις κατάστασης να επικρατούν των παλαιότερων ενημερώσεων κατάστασης. + +Μόλις ένας συμμετέχων ενεργοποιήσει το σύστημα επίλυσης διαφωνιών εντός αλυσίδας, το άλλο μέρος πρέπει να απαντήσει εντός χρονικού ορίου (που ονομάζεται παράθυρο πρόκλησης). Αυτό επιτρέπει στους χρήστες να αμφισβητήσουν τη συναλλαγή εξόδου, ειδικά εάν το άλλο μέρος εφαρμόζει μια παλιά ενημέρωση. + +Όποια και αν είναι η περίπτωση, οι χρήστες του καναλιού έχουν πάντα ισχυρές εγγυήσεις οριστικότητας: εάν η μετάβαση κατάστασης στην κατοχή τους υπογράφηκε από όλα τα μέλη και είναι η πιο πρόσφατη ενημέρωση, τότε έχει την ίδια οριστικότητα με μια κανονική συναλλαγή στην αλυσίδα. Πρέπει ακόμα να αμφισβητήσουν το άλλο μέρος στην αλυσίδα, αλλά το μόνο πιθανό αποτέλεσμα είναι η ολοκλήρωση της τελευταίας έγκυρης κατάστασης που κατέχουν. + +### Πώς αλληλεπιδρούν τα κανάλια κατάστασης με το Ethereum; {#how-do-state-channels-interact-with-ethereum} + +Αν και υπάρχουν ως πρωτόκολλα εκτός αλυσίδας, τα κανάλια κατάστασης έχουν ένα στοιχείο εντός αλυσίδας: το έξυπνο συμβόλαιο που αναπτύσσεται στο Ethereum κατά το άνοιγμα του καναλιού. Αυτό το συμβόλαιο ελέγχει τα περιουσιακά στοιχεία που κατατίθενται στο κανάλι, επαληθεύει τις ενημερώσεις κατάστασης και διαιτητεύει τις διαφορές μεταξύ των συμμετεχόντων. + +Τα κανάλια κατάστασης δε δημοσιεύουν δεδομένα συναλλαγών ή καταστάσεις δεσμεύσεων στο Mainnet, σε αντίθεση με τις λύσεις κλιμάκωσης [επιπέδου 2](/layer-2/). Ωστόσο, συνδέονται περισσότερο με το Mainnet παρά με, [πλευρικές αλυσίδες](/developers/docs/scaling/sidechains/) καθιστώντας τα κάπως πιο ασφαλή. + +Τα κανάλια κατάστασης βασίζονται στο κύριο πρωτόκολλο Ethereum για τα ακόλουθα: + +#### 1. Επιβιωσιμότητα {#liveness} + +Το συμβόλαιο στην αλυσίδα που αναπτύσσεται κατά το άνοιγμα του καναλιού είναι υπεύθυνο για τη λειτουργικότητα του καναλιού. Εάν το συμβόλαιο εκτελείται στο Ethereum, τότε το κανάλι είναι πάντα διαθέσιμο για χρήση. Αντίθετα, μια πλευρική αλυσίδα μπορεί πάντα να αποτύχει, ακόμα και αν το Κεντρικό δίκτυο είναι λειτουργικό, θέτοντας σε κίνδυνο τα κεφάλαια των χρηστών. + +#### 2. Ασφάλεια {#security} + +Σε κάποιο βαθμό, τα κανάλια κατάστασης βασίζονται στο Ethereum για να τους παρέχουν ασφάλεια και να προστατεύουν τους χρήστες από κακόβουλους ομότιμους. Όπως συζητείται σε επόμενες ενότητες, τα κανάλια χρησιμοποιούν έναν μηχανισμό απόδειξης απάτης που επιτρέπει στους χρήστες να αμφισβητήσουν τις προσπάθειες οριστικοποίησης του καναλιού με μια μη έγκυρη ή παλιά ενημέρωση. + +Σε αυτήν την περίπτωση, το έντιμο μέρος παρέχει την πιο πρόσφατη έγκυρη κατάσταση του καναλιού ως απόδειξη απάτης στο συμβόλαιο στην αλυσίδα για επαλήθευση. Οι αποδείξεις απάτης επιτρέπουν σε μέρη που δεν εμπιστεύονται το ένα το άλλο να πραγματοποιούν εκτός αλυσίδας συναλλαγές χωρίς να διακινδυνεύουν τα κεφάλαιά τους στη διαδικασία. + +#### 3. Οριστικότητα {#finality} + +Οι ενημερώσεις κατάστασης που υπογράφονται συλλογικά από τους χρήστες του καναλιού θεωρούνται εξίσου καλές με τις συναλλαγές στην αλυσίδα. Ωστόσο, όλες οι ενέργειες εντός ενός καναλιού αποκτούν πραγματική οριστικότητα μόνο όταν το κανάλι κλείνει στο Ethereum. + +Στην αισιόδοξη περίπτωση, και τα δύο μέρη μπορούν να συνεργαστούν και να υπογράψουν την τελική ενημέρωση κατάστασης και να την υποβάλουν στην αλυσίδα για να κλείσει το κανάλι, μετά την οποία τα χρήματα διανέμονται σύμφωνα με την τελική κατάσταση του καναλιού. Στην απαισιόδοξη περίπτωση, όπου κάποιος προσπαθεί να εξαπατήσει δημοσιεύοντας μια εσφαλμένη ενημέρωση κατάστασης στην αλυσίδα, η συναλλαγή δεν ολοκληρώνεται μέχρι να παρέλθει το παράθυρο πρόκλησης. + +## Εικονικά κανάλια κτάστασης {#virtual-state-channels} + +Η αφελής υλοποίηση ενός καναλιού κατάστασης θα ήταν η ανάπτυξη ενός νέου συμβολαίου όταν δύο χρήστες επιθυμούν να εκτελέσουν μια εφαρμογή εκτός αλυσίδας. Αυτό όχι μόνο δεν είναι εφικτό, αλλά αναιρεί επίσης τη σχέση κόστους - αποτελεσματικότητας των καναλιών κατάστασης (το κόστος συναλλαγών στην αλυσίδα μπορεί γρήγορα να αυξηθεί). + +Για να λυθεί αυτό το πρόβλημα, δημιουργήθηκαν «εικονικά κανάλια». Σε αντίθεση με τα κανονικά κανάλια που απαιτούν το άνοιγμα και τον τερματισμό συναλλαγών στην αλυσίδα, ένα εικονικό κανάλι μπορεί να ανοιχτεί, να εκτελεστεί και να οριστικοποιηθεί χωρίς να αλληλεπιδράσει με την κύρια αλυσίδα. Είναι ακόμη δυνατό να διευθετηθούν διαφορές εκτός αλυσίδας χρησιμοποιώντας αυτή τη μέθοδο. + +Αυτό το σύστημα βασίζεται στην ύπαρξη των λεγόμενων "καναλιών καταλόγου", τα οποία έχουν χρηματοδοτηθεί στην αλυσίδα. Μπορούν να δημιουργηθούν εικονικά κανάλια μεταξύ δύο μερών πάνω από ένα υπάρχον κανάλι καταλόγου, με τους ιδιοκτήτες του καναλιού καταλόγου να χρησιμεύουν ως ενδιάμεσοι. + +Οι χρήστες σε κάθε εικονικό κανάλι αλληλεπιδρούν μέσω μιας νέας εμφάνισης συμβολαίου, με το κανάλι καταλόγου να είναι σε θέση να υποστηρίζει πολλαπλές εμφανίσεις συμβολαίου. Η κατάσταση του καναλιού καταλόγου περιέχει επίσης περισσότερες από μία καταστάσεις αποθήκευσης συμβολαίου, επιτρέποντας παράλληλη εκτέλεση εφαρμογών εκτός αλυσίδας μεταξύ διαφορετικών χρηστών. + +Όπως ακριβώς και στα κανονικά κανάλια, οι χρήστες ανταλλάσσουν ενημερώσεις κατάστασης για να προχωρήσουν το μηχάνημα κατάστασης. Εκτός από διαφωνία, επικοινωνία με τον μεσάζοντα γίνεται μόνο κατά το άνοιγμα ή τον τερματισμό του καναλιού. + +### Εικονικά κανάλια πληρωμών {#virtual-payment-channels} + +Τα εικονικά κανάλια πληρωμών λειτουργούν με την ίδια ιδέα όπως τα κανάλια εικονικής κατάστασης: οι συμμετέχοντες που είναι συνδεδεμένοι στο ίδιο δίκτυο μπορούν να υποβάλουν μηνύματα χωρίς να χρειάζεται να ανοίξουν ένα νέο κανάλι στην αλυσίδα. Στα εικονικά κανάλια πληρωμών, οι μεταφορές αξίας δρομολογούνται μέσω ενός ή περισσότερων διαμεσολαβητών, με εγγυήσεις ότι μόνο ο σκοπούμενος παραλήπτης μπορεί να λάβει μεταφερόμενα χρήματα. + +## Εφαρμογές καναλιών κατάστασης {#applications-of-state-channels} + +### Πληρωμές {#payments} + +Τα αρχικά κανάλια blockchain ήταν απλά πρωτόκολλα που επέτρεπαν σε δύο συμμετέχοντες να πραγματοποιούν γρήγορες, χαμηλής χρέωσης μεταφορές εκτός αλυσίδας χωρίς να χρειάζεται να πληρώνουν υψηλά τέλη συναλλαγών στο Mainnet. Σήμερα, τα κανάλια πληρωμής εξακολουθούν να είναι χρήσιμα για εφαρμογές που έχουν σχεδιαστεί για την ανταλλαγή και τις καταθέσεις ether και tokens. + +Οι πληρωμές βασισμένες σε κανάλια έχουν τα ακόλουθα πλεονεκτήματα: + +1. **Απόδοση**: Η ποσότητα των εκτός αλυσίδας συναλλαγών ανά κανάλι δε συνδέεται με την απόδοση του Ethereum, η οποία επηρεάζεται από διάφορους παράγοντες, ειδικά το μέγεθος του μπλοκ και ο χρόνος μπλοκ. Με την εκτέλεση συναλλαγών εκτός αλυσίδας, τα κανάλια blockchain μπορούν να επιτύχουν υψηλότερη απόδοση. + +2. **Απόρρητο**: Επειδή τα κανάλια υπάρχουν εκτός αλυσίδας, οι λεπτομέρειες των αλληλεπιδράσεων μεταξύ των συμμετεχόντων δεν καταγράφονται στο δημόσιο blockchain του Ethereum. Οι χρήστες καναλιών πρέπει να αλληλεπιδρούν μόνο στην αλυσίδα κατά τη χρηματοδότηση και το κλείσιμο καναλιών ή την επίλυση διαφορών. Έτσι, τα κανάλια είναι χρήσιμα για άτομα που επιθυμούν πιο ιδιωτικές συναλλαγές. + +3. **Καθυστέρηση**: Οι εκτός αλυσίδας συναλλαγές που πραγματοποιούνται μεταξύ των συμμετεχόντων του καναλιού μπορούν να διευθετηθούν άμεσα, εάν συνεργαστούν και τα δύο μέρη, μειώνοντας τις καθυστερήσεις. Αντίθετα, η αποστολή μιας συναλλαγής στο Κεντρικό δίκτυο απαιτεί αναμονή για τους κόμβους να επεξεργαστούν τη συναλλαγή, να παράγουν ένα νέο μπλοκ με τη συναλλαγή και να επιτευχθεί συναίνεση. Οι χρήστες μπορεί επίσης να χρειαστεί να περιμένουν περισσότερες επιβεβαιώσεις μπλοκ πριν θεωρήσουν μια συναλλαγή οριστικοποιημένη. + +4. **Κόστος**: Τα κανάλια κατάστασης είναι ιδιαίτερα χρήσιμα σε περιπτώσεις όπου ένα σύνολο συμμετεχόντων θα ανταλλάξει πολλές ενημερώσεις κατάστασης για μεγάλο χρονικό διάστημα. Τα μόνα έξοδα που προκύπτουν είναι το άνοιγμα και το κλείσιμο του έξυπνου συμβολαίου καναλιού κατάστασης. Κάθε αλλαγή κατάστασης μεταξύ του ανοίγματος και του κλεισίματος του καναλιού θα είναι φθηνότερη από την τελευταία καθώς το κόστος διακανονισμού κατανέμεται ανάλογα. + +Η εφαρμογή καναλιών κατάστασης σε λύσεις επιπέδου 2, όπως τα [rollups](/developers/docs/scaling/#rollups), θα μπορούσε να τα κάνει ακόμη πιο ελκυστικά για πληρωμές. Ενώ τα κανάλια προσφέρουν φθηνές πληρωμές, το κόστος εγκατάστασης του συμβολαίου στην αλυσίδα στο Mainnet κατά τη φάση ανοίγματος μπορεί να γίνει ακριβό, ειδικά όταν τα τέλη gas αυξάνονται απότομα. Τα πακέτα ενημέρωσης που βασίζονται στο Ethereum προσφέρουν [χαμηλότερα τέλη συναλλαγών](https://l2fees.info/) και μπορούν να μειώσουν τα έξοδα για τους συμμετέχοντες του καναλιού μειώνοντας τα έξοδα εγκατάστασης. + +### Μικροσυναλλαγές {#microtransactions} + +Οι μικροσυναλλαγές είναι πληρωμές χαμηλής αξίας (π.χ. χαμηλότερες από ένα κλάσμα του δολαρίου) τις οποίες οι επιχειρήσεις δεν μπορούν να επεξεργαστούν χωρίς να υποστούν απώλειες. Αυτές οι οντότητες πρέπει να πληρώνουν τους παρόχους υπηρεσιών πληρωμών, κάτι που δεν μπορούν να κάνουν εάν το περιθώριο στις πληρωμές πελατών είναι πολύ χαμηλό για να βγει κέρδος. + +Τα κανάλια πληρωμών λύνουν αυτό το πρόβλημα μειώνοντας τα γενικά έξοδα που σχετίζονται με τις μικροσυναλλαγές. Για παράδειγμα, ένας πάροχος υπηρεσιών διαδικτύου (ISP) μπορεί να ανοίξει ένα κανάλι πληρωμής με έναν πελάτη, επιτρέποντάς του να πραγματοποιεί ροή μικρών πληρωμών κάθε φορά που χρησιμοποιεί την υπηρεσία. + +Πέρα από το κόστος ανοίγματος και κλεισίματος του καναλιού, οι συμμετέχοντες δεν επιβαρύνονται με επιπλέον κόστος για μικροσυναλλαγές (χωρίς χρεώσεις gas). Αυτή είναι μια κατάσταση win-win, καθώς οι πελάτες έχουν μεγαλύτερη ευελιξία στο πόσα πληρώνουν για υπηρεσίες και οι επιχειρήσεις δε χάνουν τις κερδοφόρες μικροσυναλλαγές. + +### Αποκεντρωμένες εφαρμογές {#decentralized-applications} + +Όπως τα κανάλια πληρωμής, τα κανάλια κατάστασης μπορούν να πραγματοποιούν πληρωμές υπό όρους σύμφωνα με τις τελικές καταστάσεις του μηχανήματος κατάστασης. Τα κανάλια κατάστασης μπορούν επίσης να υποστηρίξουν αυθαίρετη λογική μετάβασης κατάστασης, καθιστώντας τα χρήσιμα για την εκτέλεση γενικών εφαρμογών εκτός αλυσίδας. + +Τα κανάλια κατάστασης συχνά περιορίζονται σε απλές εφαρμογές, καθώς αυτό διευκολύνει τη διαχείριση των κεφαλαίων που έχουν δεσμευτεί στο συμβόλαιο εντός αλυσίδας. Επίσης, με περιορισμένο αριθμό μερών που ενημερώνουν την κατάσταση της εφαρμογής εκτός αλυσίδας σε διαστήματα, η τιμωρία της ανέντιμης συμπεριφοράς είναι σχετικά απλή. + +Η αποτελεσματικότητα μιας εφαρμογής καναλιού κατάστασης εξαρτάται επίσης από τον σχεδιασμό της. Για παράδειγμα, ένας προγραμματιστής μπορεί να αναπτύξει το συμβόλαιο καναλιού εφαρμογής εντός αλυσίδας μία φορά και να επιτρέψει σε άλλους παίκτες να επαναχρησιμοποιήσουν την εφαρμογή χωρίς να χρειάζεται να μεταβούν εντός αλυσίδας. Σε αυτήν την περίπτωση, το αρχικό κανάλι εφαρμογής λειτουργεί ως κανάλι λογιστικού βιβλίου που υποστηρίζει πολλαπλά εικονικά κανάλια, με κάθε ένα να εκτελεί μια νέα εμφάνιση του έξυπνου συμβολαίου της εφαρμογής εκτός αλυσίδας. + +Μια πιθανή χρήση για εφαρμογές καναλιού κατάστασης είναι τα απλά παιχνίδια δύο παικτών, όπου τα κεφάλαια διανέμονται με βάση το αποτέλεσμα του παιχνιδιού. Το όφελος εδώ είναι ότι οι παίκτες δε χρειάζεται να εμπιστεύονται ο ένας τον άλλον (αποκέντρωση) και το συμβόλαιο εντός αλυσίδας, όχι οι παίκτες, ελέγχει την κατανομή των κεφαλαίων και την επίλυση των διαφορών (αποκέντρωση). + +Άλλες πιθανές χρήσεις για εφαρμογές καναλιού κατάστασης περιλαμβάνουν την ιδιοκτησία ονόματος ENS, τα μητρώα NFT και πολλά άλλα. + +### Προσωπικές μεταφορές {#atomic-transfers} + +Τα αρχικά κανάλια πληρωμής περιορίζονταν σε μεταφορές μεταξύ δύο μελών, περιορίζοντας τη χρηστικότητά τους. Ωστόσο, η εισαγωγή εικονικών καναλιών επέτρεψε στα άτομα να δρομολογούν μεταφορές μέσω ενδιάμεσων (δηλαδή πολλαπλών καναλιών p2p) χωρίς να χρειάζεται να ανοίξουν ένα νέο κανάλι στην αλυσίδα. + +Συχνά περιγράφονται ως "μεταφορές πολλαπλών εναλλαγών", οι δρομολογημένες πληρωμές είναι ατομικές (δηλαδή, είτε όλα τα μέρη της συναλλαγής επιτυγχάνουν είτε αποτυγχάνουν εντελώς). Οι ατομικές μεταφορές χρησιμοποιούν [Συμβόλαια Χρονικού Κλειδώματος με Hash (HTLCs)](https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts) για να εξασφαλίσουν ότι η πληρωμή απελευθερώνεται μόνο εάν πληρούνται ορισμένες προϋποθέσεις, μειώνοντας έτσι τον κίνδυνο του αντιπάλου. + +## Μειονεκτήματα της χρήσης καναλιών κατάστασης {#drawbacks-of-state-channels} + +### Υποθέσεις επιβιωσιμότητας {#liveness-assumptions} + +Για να διασφαλιστεί η αποτελεσματικότητα, τα κανάλια κατάστασης θέτουν χρονικά όρια στην ικανότητα των συμμετεχόντων του καναλιού να ανταποκρίνονται σε διαφωνίες. Αυτός ο κανόνας υποθέτει ότι οι συμμετέχοντες θα είναι πάντα συνδεδεμένοι στο δίκτυο για να παρακολουθούν τη δραστηριότητα του καναλιού και να αμφισβητούν ενστάσεις όταν είναι απαραίτητο. + +Στην πραγματικότητα, οι χρήστες μπορούν να βγουν εκτός σύνδεσης για λόγους έξω από τον έλεγχό τους (π.χ. κακή σύνδεση στο διαδίκτυο, μηχανική βλάβη κ.λπ.). Αν ένας ειλικρινής χρήστης αποσυνδεθεί, ένας κακόβουλος συμμετέχων μπορεί να εκμεταλλευτεί την κατάσταση παρουσιάζοντας παλιές ενδιάμεσες καταστάσεις στο συμβόλαιο διαιτησίας και κλέβοντας τα δεσμευμένα κεφάλαια. + +Μερικά κανάλια χρησιμοποιούν "πύργους παρακολούθησης" - οντότητες υπεύθυνες για την παρακολούθηση εκτός αλυσίδας συμβάντων διαφωνιών για λογαριασμό άλλων και τη λήψη των απαραίτητων ενεργειών, όπως την ειδοποίηση των ενδιαφερομένων μερών. Ωστόσο, αυτό μπορεί να αυξήσει το κόστος χρήσης ενός καναλιού κατάστασης. + +### Μη διαθεσιμότητα δεδομένων {#data-unavailability} + +Όπως εξηγήθηκε προηγουμένως, η αμφισβήτηση μιας μη έγκυρης διαφωνίας απαιτεί την παρουσίαση της πιο πρόσφατης, έγκυρης κατάστασης του καναλιού κατάστασης. Αυτός είναι ένας άλλος κανόνας που βασίζεται σε μια υπόθεση - ότι οι χρήστες έχουν πρόσβαση στην πιο πρόσφατη κατάσταση του καναλιού. + +Αν και είναι λογικό να περιμένουμε ότι οι χρήστες του καναλιού θα αποθηκεύουν αντίγραφα της κατάστασης της εφαρμογής εκτός αλυσίδας, αυτά τα δεδομένα ενδέχεται να χαθούν λόγω σφάλματος ή μηχανικής βλάβης. Αν ο χρήστης δεν έχει αντίγραφο ασφαλείας των δεδομένων, μπορεί μόνο να ελπίζει ότι το άλλο μέρος δε θα ολοκληρώσει ένα άκυρο αίτημα εξόδου χρησιμοποιώντας παλιές μεταβάσεις κατάστασης που βρίσκονται στην κατοχή του. + +Οι χρήστες του Ethereum δεν έχουν αυτό το πρόβλημα, καθώς το δίκτυο επιβάλλει κανόνες σχετικά με τη διαθεσιμότητα δεδομένων. Τα δεδομένα συναλλαγών αποθηκεύονται και διαδίδονται από όλους τους κόμβους και είναι διαθέσιμα στους χρήστες για λήψη, εάν και όταν είναι απαραίτητο. + +### Ζητήματα ρευστότητας {#liquidity-issues} + +Για να δημιουργηθεί ένα κανάλι blockchain, οι συμμετέχοντες πρέπει να κλειδώσουν κεφάλαια σε ένα έξυπνο συμβόλαιο στην αλυσίδα για τον κύκλο ζωής του καναλιού. Αυτό μειώνει τη ρευστότητα των χρηστών του καναλιού και επίσης περιορίζει τα κανάλια σε εκείνους που μπορούν να αντέξουν οικονομικά να κρατήσουν κεφάλαια κλειδωμένα στο Mainnet. + +Ωστόσο, τα κανάλια λογιστικού βιβλίου, που λειτουργούν από έναν παροχέα υπηρεσιών εκτός αλυσίδας (OSP), μπορούν να μειώσουν τα προβλήματα ρευστότητας για τους χρήστες. Δύο ομότιμοι χρήστες που είναι συνδεδεμένοι σε ένα κανάλι λογιστικού βιβλίου μπορούν να δημιουργήσουν ένα εικονικό κανάλι, το οποίο μπορούν να ανοίξουν και να ολοκληρώσουν εντελώς εκτός αλυσίδας, όποτε θέλουν. + +Οι παροχείς υπηρεσιών εκτός αλυσίδας θα μπορούσαν επίσης να ανοίξουν κανάλια με πολλούς ομότιμους, καθιστώντας τα χρήσιμα για τη δρομολόγηση πληρωμών. Φυσικά, οι χρήστες πρέπει να πληρώνουν τέλη στους OSPs για τις υπηρεσίες τους, κάτι που μπορεί να είναι ανεπιθύμητο για ορισμένους. + +### Griefing attacks {#griefing-attacks} + +Οι επιθέσεις griefing είναι ένα κοινό χαρακτηριστικό των συστημάτων που βασίζονται σε απόδειξη απάτης. Μια επίθεση griefing δεν ωφελεί άμεσα τον επιτιθέμενο αλλά προκαλεί θλίψη (δηλαδή βλάβη) στο θύμα, εξ ου και το όνομα. + +Η απόδειξη απάτης είναι ευάλωτη σε επιθέσεις griefing επειδή το έντιμο μέρος πρέπει να ανταποκριθεί σε κάθε διαφωνία, ακόμα και σε άκυρες, ή να διακινδυνεύσει να χάσει τα κεφάλαιά του. Ένας κακόβουλος συμμετέχοντας μπορεί να αποφασίσει να δημοσιεύσει επανειλημμένα παλιές μεταβάσεις κατάστασης στην αλυσίδα, αναγκάζοντας το έντιμο μέρος να απαντήσει με την έγκυρη κατάσταση. Το κόστος αυτών των συναλλαγών στην αλυσίδα μπορεί να αυξηθεί γρήγορα, προκαλώντας απώλειες στα έντιμα μέρη στη διαδικασία. + +### Προκαθορισμένα σύνολα συμμετεχόντων {#predefined-participant-sets} + +Εκ σχεδιασμού, ο αριθμός των συμμετεχόντων που αποτελούν ένα κανάλι κατάστασης παραμένει σταθερός καθ' όλη τη διάρκεια ζωής του. Αυτό συμβαίνει επειδή η ενημέρωση του συνόλου των συμμετεχόντων θα περιέπλεκε τη λειτουργία του καναλιού, ειδικά κατά τη χρηματοδότηση του καναλιού, ή την επίλυση διαφορών. Η προσθήκη ή η αφαίρεση συμμετεχόντων θα απαιτούσε επίσης πρόσθετη δραστηριότητα εντός της αλυσίδας, η οποία αυξάνει τα γενικά έξοδα για τους χρήστες. + +Αν και αυτό κάνει τα κανάλια κατάστασης ευκολότερο να συλλογιστούν, περιορίζει τη χρησιμότητα των καναλιών σχεδίων στους προγραμματιστές εφαρμογών. Αυτό εξηγεί εν μέρει γιατί τα κανάλια κατάστασης έχουν εγκαταλειφθεί υπέρ άλλων λύσεων κλιμάκωσης, όπως τα rollups. + +### Παράλληλη επεξεργασία συναλλαγών {#parallel-transaction-processing} + +Οι συμμετέχοντες στο κανάλι κατάστασης στέλνουν ενημερώσεις κατάστασης με τη σειρά τους, γι' αυτό λειτουργούν καλύτερα για "εφαρμογές βασισμένες σε περιστροφές" (π.χ. ένα παιχνίδι σκάκι δύο παικτών). Αυτό εξαλείφει την ανάγκη να χειριστείτε ταυτόχρονες ενημερώσεις κατάστασης και μειώνει τη δουλειά που πρέπει να κάνει το συμβόλαιο στην αλυσίδα για να τιμωρήσει τους δημοσιευτές παλιών ενημερώσεων. Ωστόσο, μια παρενέργεια αυτού του σχεδιασμού είναι ότι οι συναλλαγές εξαρτώνται η μία από την άλλη, αυξάνοντας την καθυστέρηση και μειώνοντας τη συνολική εμπειρία χρήστη. + +Μερικά κανάλια κατάστασης επιλύουν αυτό το πρόβλημα χρησιμοποιώντας ένα σχεδιασμό "full-duplex" που χωρίζει την κατάσταση εκτός αλυσίδας σε δύο μονόδρομες καταστάσεις "simplex", επιτρέποντας ταυτόχρονες ενημερώσεις κατάστασης. Τέτοια σχέδια βελτιώνουν την απόδοση εκτός αλυσίδας και μειώνουν τις καθυστερήσεις συναλλαγών. + +## Χρήση καναλιών κατάστασης {#use-state-channels} + +Πολλά έργα παρέχουν υλοποιήσεις καταστάσεων καναλιών που μπορείτε να ενσωματώσετε στα dapps σας: + +- [Connext](https://connext.network/) +- [Kchannels](https://www.kchannels.io/) +- [Perun](https://perun.network/) +- [Raiden](https://raiden.network/) +- [Statechannels.org](https://statechannels.org/) + +## Περαιτέρω υλικό για διάβασμα {#further-reading} + +**Κανάλια κατάστασης** + +- [Λύσεις κλιμάκωσης του επιπέδου 2 του Ethereum: Κανάλια κατάστασης, Plasma και Truebit](https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4) _– Josh Stark, 12 Φεβ 2018_ +- [Κανάλια κατάστασης - εξήγηση](https://www.jeffcoleman.ca/state-channels/) _6 Νοε 2015 - Jeff Coleman_ +- [Βασικά στοιχεία καναλιών κατάστασης](https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/) _District0x_ +- [Κανάλια κατάστασης κρυπτοαλυσίδας: Μια κατάσταση της τέχνης](https://ieeexplore.ieee.org/document/9627997) + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ diff --git a/public/content/translations/el/developers/docs/scaling/validium/index.md b/public/content/translations/el/developers/docs/scaling/validium/index.md new file mode 100644 index 00000000000..c23521f5940 --- /dev/null +++ b/public/content/translations/el/developers/docs/scaling/validium/index.md @@ -0,0 +1,166 @@ +--- +title: Validium +description: Μια εισαγωγή στο Validium ως λύση κλιμάκωσης που χρησιμοποιείται επί του παρόντος από την κοινότητα του Ethereum. +lang: el +sidebarDepth: 3 +--- + +Το Validium είναι μια [λύση κλιμάκωσης](/developers/docs/scaling/) που επιβάλλει την ακεραιότητα των συναλλαγών χρησιμοποιώντας αποδείξεις εγκυρότητας όπως τα [ZK-rollups](/developers/docs/scaling/zk-rollups/), αλλά δεν αποθηκεύει δεδομένα συναλλαγών στο Ethereum Mainnet. Ενώ η διαθεσιμότητα δεδομένων εκτός αλυσίδας εισάγει συμβιβασμούς, μπορεί να οδηγήσει σε τεράστιες βελτιώσεις στην επεκτασιμότητα (τα validium μπορούν να επεξεργαστούν [~9.000 συναλλαγές ή περισσότερες, ανά δευτερόλεπτο](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263)). + +## Προαπαιτούμενα {#prerequisites} + +Θα έπρεπε να έχετε διαβάσει και κατανοήσει τη σελίδα μας για την [Κλιμάκωση Ethereum](/developers/docs/scaling/) και το [Επίπεδο 2](/layer-2). + +## Τι είναι το validium; {#what-is-validium} + +Τα Validium είναι λύσεις κλιμάκωσης που χρησιμοποιούν διαθεσιμότητα δεδομένων εκτός αλυσίδας και υπολογισμούς που έχουν σχεδιαστεί για τη βελτίωση της απόδοσης μέσω της επεξεργασίας συναλλαγών εκτός του Ethereum Mainnet. Όπως τα πακέτα ενημέρωσης μηδενικής γνώσης (ZK-rollups), τα validium δημοσιεύουν [αποδείξεις μηδενικής γνώσης](/glossary/#zk-proof) για να επαληθεύσουν τις συναλλαγές εκτός αλυσίδας στο Ethereum. Αυτό αποτρέπει τις μεταβάσεις μη έγκυρης κατάστασης και ενισχύει τις εγγυήσεις ασφαλείας μιας αλυσίδας validium. + +Αυτές οι "αποδείξεις εγκυρότητας" μπορούν να έχουν τη μορφή ZK-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) ή ZK-STARK (Zero-Knowledge Scalable Transparent ARgument of Knowledge). Περισσότερα για τις [αποδείξεις μηδενικής γνώσης](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/). + +Το κεφάλαιο που ανήκει σε χρήστες validium ελέγχεται από ένα έξυπνο συμβόλαιο στο Ethereum. Τα Validium προσφέρουν σχεδόν στιγμιαίες αναλήψεις, όπως κάνουν τα ZK-rollups, μόλις επαληθευτεί η απόδειξη εγκυρότητας για ένα αίτημα ανάληψης στο Κεντρικό δίκτυο. Οι χρήστες μπορούν να κάνουν ανάληψη χρημάτων παρέχοντας [αποδείξεις Merkle](/developers/tutorials/merkle-proofs-for-offline-data-integrity/). Η απόδειξη Merkle επικυρώνει τη συμπερίληψη της συναλλαγής απόσυρσης του χρήστη σε μια επαληθευμένη παρτίδα συναλλαγών, επιτρέποντας στο συμβόλαιο στην αλυσίδα να επεξεργαστεί την ανάληψη. + +Ωστόσο, οι χρήστες του validium μπορούν να παγώσουν τα χρήματά τους και να περιοριστούν οι αναλήψεις. Αυτό μπορεί να συμβεί εάν οι διαχειριστές διαθεσιμότητας δεδομένων στην αλυσίδα validium διατηρούν δεδομένα κατάστασης εκτός αλυσίδας από τους χρήστες. Χωρίς πρόσβαση στα δεδομένα συναλλαγών, οι χρήστες δεν μπορούν να υπολογίσουν την απόδειξη Merkle που απαιτείται για την απόδειξη της ιδιοκτησίας κεφαλαίων και την εκτέλεση αναλήψεων. + +Αυτή είναι η κύρια διαφορά μεταξύ validiums και ZK-rollups για τις θέσεις τους στο φάσμα διαθεσιμότητας δεδομένων. Και οι δύο λύσεις προσεγγίζουν την αποθήκευση δεδομένων με διαφορετικό τρόπο, γεγονός που έχει επιπτώσεις στην ασφάλεια και την αξιοπιστία. + +## Πώς αλληλεπιδρούν τα validiums με το Ethereum; {#how-do-validiums-interact-with-ethereum} + +Τα Validium είναι πρωτόκολλα κλιμάκωσης που έχουν δημιουργηθεί πάνω από την υπάρχουσα αλυσίδα Ethereum. Αν και εκτελεί συναλλαγές εκτός αλυσίδας, μια αλυσίδα validium διαχειρίζεται από μια συλλογή έξυπνων συμβολαίων που είναι αναπτυγμένες στο Mainnet, συμπεριλαμβανομένων: + +1. **Συμβόλαιο επαληθευτή**: Το συμβόλαιο επαληθευτή επαληθεύει την εγκυρότητα των αποδείξεων που υποβάλλονται από τον χειριστή του validium κατά την πραγματοποίηση ενημερώσεων κατάστασης. Αυτό περιλαμβάνει αποδείξεις εγκυρότητας που πιστοποιούν την ορθότητα των συναλλαγών εκτός αλυσίδας και διαθεσιμότητας δεδομένων που επαληθεύουν την ύπαρξη των δεδομένων συναλλαγών εκτός αλυσίδας. + +2. **Κύριο συμβόλαιο**: Το κύριο συμβόλαιο αποθηκεύει δεσμεύσεις κατάστασης (Merkle roots) που υποβάλλονται από παραγωγούς μπλοκ και ενημερώνει την κατάσταση του validium μόλις επαληθευτεί μια απόδειξη εγκυρότητας στην αλυσίδα. Αυτό το συμβόλαιο επεξεργάζεται επίσης καταθέσεις και αναλήψεις από την αλυσίδα validium. + +Τα Validium βασίζονται επίσης στην κύρια αλυσίδα του Ethereum για τα ακόλουθα: + +### Διακανονισμός {#settlement} + +Οι συναλλαγές που εκτελούνται σε ένα validium δεν μπορούν να επιβεβαιωθούν πλήρως μέχρι η μητρική αλυσίδα να επαληθεύσει την εγκυρότητά τους. Όλες οι εργασίες που διεξάγονται σε ένα validium πρέπει τελικά να διευθετηθούν στο Κεντρικό Δίκτυο. Το blockchain Ethereum παρέχει επίσης «εγγυήσεις διακανονισμού» για τους χρήστες του validium, που σημαίνει ότι οι συναλλαγές εκτός αλυσίδας δεν μπορούν να αντιστραφούν ή να τροποποιηθούν αφού δεσμευτούν στην αλυσίδα. + +### Ασφάλεια {#security} + +Το Ethereum, που λειτουργεί ως επίπεδο διακανονισμού, εγγυάται επίσης την εγκυρότητα των μεταβάσεων κατάστασης στο validium. Οι συναλλαγές εκτός αλυσίδας που εκτελούνται στην αλυσίδα validium επαληθεύονται μέσω ενός έξυπνου συμβολαίου στο βασικό επίπεδο Ethereum. + +Εάν ο επαληθευτής συμβολαίου στην αλυσίδα κρίνει ότι η απόδειξη δεν είναι έγκυρη, οι συναλλαγές απορρίπτονται. Αυτό σημαίνει ότι οι χειριστές πρέπει να πληρούν τις προϋποθέσεις εγκυρότητας που επιβάλλονται από το πρωτόκολλο Ethereum πριν από την ενημέρωση της κατάστασης του validium. + +## Πώς λειτουργεί το validium; {#how-does-validium-work} + +### Συναλλαγές {#transactions} + +Οι χρήστες υποβάλλουν συναλλαγές στον χειριστή, έναν κόμβο που είναι υπεύθυνος για την εκτέλεση συναλλαγών στην αλυσίδα validium. Ορισμένα validium μπορεί να χρησιμοποιούν έναν μοναδικό χειριστή για την εκτέλεση της αλυσίδας ή να βασίζονται σε μηχανισμό [απόδειξης συμμετοχής (PoS)](/developers/docs/consensus-mechanisms/pos/) για την εναλλαγή χειριστών. + +Ο χειριστής συσσωρεύει τις συναλλαγές σε μια παρτίδα και τις στέλνει σε ένα κύκλωμα απόδειξης για να αποδειχθούν. Το κύκλωμα απόδειξης δέχεται την παρτίδα συναλλαγών (και άλλα σχετικά δεδομένα) ως εισόδους και εξόδους της απόδειξης εγκυρότητας που επαληθεύει ότι οι λειτουργίες εκτελέστηκαν σωστά. + +### Δεσμεύσεις κατάστασης {#state-commitments} + +Η κατάσταση του validium γίνεται hashed ως δέντρο Merkle με τη ρίζα να είναι αποθηκευμένη στο κύριο συμβόλαιο στο Ethereum. Η ρίζα Merkle, γνωστή και ως ρίζα κατάστασης, ενεργεί ως κρυπτογραφική δέσμευση για την τρέχουσα κατάσταση των λογαριασμών και των υπολοίπων στο validium. + +Για να εκτελέσει μια ενημέρωση κατάστασης, ο χειριστής πρέπει να υπολογίσει μια νέα ρίζα κατάστασης (μετά την εκτέλεση συναλλαγών) και να την υποβάλει στο συμβόλαιο στην αλυσίδα. Εάν η απόδειξη εγκυρότητας είναι εντάξει, η προτεινόμενη κατάσταση γίνεται αποδεκτή και το validium μεταβαίνει στη νέα ρίζα κατάστασης. + +### Καταθέσεις και αναλήψεις {#deposits-and-withdrawals} + +Οι χρήστες μετακινούν χρήματα από το Ethereum σε ένα validium καταθέτοντας ETH (ή οποιοδήποτε token συμβατό με ERC) στο συμβόλαιο στην αλυσίδα. Το συμβόλαιο μεταδίδει το συμβάν κατάθεσης στο validium εκτός αλυσίδας, όπου η διεύθυνση του χρήστη πιστώνεται με ένα ποσό ίσο με την κατάθεσή του. Ο χειριστής περιλαμβάνει επίσης αυτή τη συναλλαγή κατάθεσης σε νέα παρτίδα. + +Για να μετακινήσετε χρήματα πίσω στο Κεντρικό Δίκτυο, ένας χρήστης validium ξεκινά μια συναλλαγή ανάληψης και την υποβάλλει στον χειριστή που επικυρώνει το αίτημα ανάληψης και το περιλαμβάνει σε μια παρτίδα. Τα περιουσιακά στοιχεία του χρήστη στην αλυσίδα validium επίσης καταστρέφονται πριν μπορέσουν να εξέλθουν από το σύστημα. Μόλις επαληθευτεί η απόδειξη εγκυρότητας που σχετίζεται με την παρτίδα, ο χρήστης μπορεί να καλέσει το κύριο συμβόλαιο για να κάνει ανάληψη του ποσού που απομένει από την αρχική κατάθεσή του. + +Ως μηχανισμός κατά της λογοκρισίας, το πρωτόκολλο validium επιτρέπει στους χρήστες να κάνουν ανάληψη απευθείας από το συμβόλαιο validium χωρίς να περάσουν μέσω του χειριστή. Σε αυτή την περίπτωση, οι χρήστες πρέπει να παράσχουν μια απόδειξη Merkle στο συμβόλαιο επαληθευτή που δείχνει τη συμπερίληψη ενός λογαριασμού στην κατάσταση ρίζας. Εάν η απόδειξη γίνει αποδεκτή, ο χρήστης μπορεί να καλέσει τη συνάρτηση ανάληψης του κύριου συμβολαίου για να βγάλει τα χρήματά του από το validium. + +### Υποβολή παρτίδας {#batch-submission} + +Μετά την εκτέλεση μιας παρτίδας συναλλαγών, ο χειριστής υποβάλλει τη σχετική απόδειξη εγκυρότητας στο συμβόλαιο του επαληθευτή και προτείνει μια νέα ρίζα κατάστασης στο κύριο συμβόλαιο. Εάν η απόδειξη είναι έγκυρη, το κύριο συμβόλαιο ενημερώνει την κατάσταση του validium και οριστικοποιεί τα αποτελέσματα των συναλλαγών στην παρτίδα. + +Σε αντίθεση με ένα ZK rollup, δεν απαιτείται από τους παραγωγούς μπλοκ σε ένα validium να δημοσιεύουν δεδομένα συναλλαγών για παρτίδες συναλλαγών (μόνο κεφαλίδες μπλοκ). Αυτό κάνει το validium ένα καθαρό πρωτόκολλο κλιμάκωσης εκτός αλυσίδας, σε αντίθεση με τα "υβριδικά" πρωτόκολλα κλιμάκωσης (όπως τα, [layer 2](/layer-2/)) που δημοσιεύουν δεδομένα κατάστασης στην κύρια αλυσίδα Ethereum ως `calldata`. + +### Διαθεσιμότητα δεδομένων {#data-availability} + +Όπως αναφέρθηκε, τα validiums χρησιμοποιούν ένα μοντέλο διαθεσιμότητας δεδομένων εκτός αλυσίδας, όπου οι χειριστές αποθηκεύουν όλα τα δεδομένα συναλλαγών εκτός του Ethereum Mainnet. Το χαμηλό αποτύπωμα δεδομένων στην αλυσίδα του Validium βελτιώνει την κλιμάκωση (η απόδοση δεν περιορίζεται από την ικανότητα επεξεργασίας δεδομένων του Ethereum) και μειώνει τα τέλη χρήστη (το κόστος δημοσίευσης `calldata` είναι χαμηλότερο). + +Ωστόσο, η διαθεσιμότητα δεδομένων εκτός αλυσίδας παρουσιάζει ένα πρόβλημα: τα δεδομένα που είναι απαραίτητα για τη δημιουργία ή την επαλήθευση των αποδείξεων Merkle ενδέχεται να μην είναι διαθέσιμα. Αυτό σημαίνει ότι οι χρήστες ενδέχεται να μην μπορούν να κάνουν ανάληψη κεφαλαίων από το συμβόλαιο στην αλυσίδα, εάν οι χειριστές ενεργήσουν κακόβουλα. + +Διάφορες λύσεις validium προσπαθούν να λύσουν αυτό το πρόβλημα αποκεντρώνοντας την αποθήκευση των δεδομένων κατάστασης. Αυτό περιλαμβάνει τον εξαναγκασμό των παραγωγών μπλοκ να στείλουν τα υποκείμενα δεδομένα σε "διαχειριστές διαθεσιμότητας δεδομένων" που είναι υπεύθυνοι για την αποθήκευση δεδομένων εκτός αλυσίδας και καθιστώντας τα διαθέσιμα στους χρήστες κατόπιν αιτήματος. + +Οι διαχειριστές διαθεσιμότητας δεδομένων στο validium βεβαιώνουν τη διαθεσιμότητα δεδομένων για συναλλαγές εκτός αλυσίδας υπογράφοντας κάθε παρτίδα validium. Αυτές οι υπογραφές αποτελούν μια μορφή "απόδειξης διαθεσιμότητας" την οποία ελέγχει το συμβόλαιο επαληθευτή στην αλυσίδα πριν εγκρίνει τις ενημερώσεις κατάστασης. + +Τα Validium διαφέρουν ως προς την προσέγγισή τους για τη διαχείριση διαθεσιμότητας δεδομένων. Ορισμένοι βασίζονται σε αξιόπιστα μέλη για την αποθήκευση δεδομένων κατάστασης, ενώ άλλοι χρησιμοποιούν τυχαία εκχωρημένους επικυρωτές για την εργασία. + +#### Επιτροπή διαθεσιμότητας δεδομένων (DAC) {#data-availability-committee} + +Για να εγγυηθούν τη διαθεσιμότητα δεδομένων εκτός αλυσίδας, ορισμένες λύσεις validium διορίζουν μια ομάδα αξιόπιστων οντοτήτων, συλλογικά γνωστές ως επιτροπή διαθεσιμότητας δεδομένων (DAC), για να αποθηκεύουν αντίγραφα της κατάστασης και να παρέχουν απόδειξη διαθεσιμότητας δεδομένων. Η υλοποίηση των DAC είναι ευκολότερη και απαιτείται λιγότερος συντονισμός, καθώς τα μέλη είναι λίγα. + +Ωστόσο, οι χρήστες πρέπει να εμπιστεύονται την DAC ότι θα κάνει τα δεδομένα διαθέσιμα όταν χρειάζεται (π.χ. για τη δημιουργία αποδείξεων Merkle). Υπάρχει η πιθανότητα τα μέλη των επιτροπών διαθεσιμότητας δεδομένων [να παραβιαστούν από έναν κακόβουλο παράγοντα](https://notes.ethereum.org/DD7GyItYQ02d0ax_X-UbWg?view) ο οποίος μπορεί στη συνέχεια να αποκρύψει δεδομένα εκτός αλυσίδας. + +[Περισσότερα σχετικά με τις επιτροπές διαθεσιμότητας δεδομένων σε validium](https://medium.com/starkware/data-availability-e5564c416424). + +#### Διαθεσιμότητα δεσμευμένων δεδομένων {#bonded-data-availability} + +Άλλα validium απαιτούν από τους συμμετέχοντες που είναι επιφορτισμένοι με την αποθήκευση δεδομένων εκτός σύνδεσης να αποθηκεύσουν (δηλαδή να κλειδώσουν) token σε ένα έξυπνο συμβόλαιο πριν αναλάβουν τους ρόλους τους. Αυτή η αποθήκευση κεφαλαίου χρησιμεύει ως «δεσμός» για να εγγυηθεί την ειλικρινή συμπεριφορά μεταξύ των διαχειριστών διαθεσιμότητας δεδομένων και μειώνει τις υποθέσεις εμπιστοσύνης. Εάν αυτοί οι συμμετέχοντες αποτύχουν να αποδείξουν τη διαθεσιμότητα των δεδομένων, ο δεσμός περικόπτεται. + +Σε ένα σύστημα διαθεσιμότητας δεσμευμένων δεδομένων, μπορεί να ανατεθεί σε οποιονδήποτε να κρατήσει δεδομένα εκτός αλυσίδας μόλις παρέχει την απαιτούμενη αποθήκευση. Αυτό διευρύνει το pool των επιλέξιμων διαχειριστών διαθεσιμότητας δεδομένων, μειώνοντας τον συγκεντρωτισμό που επηρεάζει τις επιτροπές διαθεσιμότητας δεδομένων (DAC). Το πιο σημαντικό είναι ότι αυτή η προσέγγιση βασίζεται σε κρυπτοοικονομικά κίνητρα για την αποτροπή κακόβουλης δραστηριότητας, η οποία είναι πολύ πιο ασφαλής από τον διορισμό αξιόπιστων μερών για την ασφάλιση δεδομένων εκτός σύνδεσης στο validium. + +[Περισσότερα σχετικά με τη διαθεσιμότητα δεσμευμένων δεδομένων στα validiums](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf). + +## Volitions και validium {#volitions-and-validium} + +Τα validium προσφέρουν πολλά οφέλη, αλλά συνοδεύονται από συμβιβασμούς (κυρίως, διαθεσιμότητα δεδομένων). Όμως, όπως συμβαίνει με πολλές λύσεις κλιμάκωσης, τα validium είναι κατάλληλα για συγκεκριμένες περιπτώσεις χρήσης — και γι' αυτό δημιουργήθηκαν τα volition. + +Τα volition συνδυάζουν μια αλυσίδα ZK rollup και validium και επιτρέπουν στους χρήστες να κάνουν εναλλαγές μεταξύ των δύο λύσεων κλιμάκωσης. Με τα volitions, οι χρήστες μπορούν να επωφεληθούν από τη διαθεσιμότητα δεδομένων εκτός αλυσίδας του validium για ορισμένες συναλλαγές, διατηρώντας παράλληλα την ελευθερία να μεταβούν σε μια λύση διαθεσιμότητας δεδομένων εκτός αλυσίδας (ZK-rollup) εάν χρειάζονταν. Αυτό ουσιαστικά δίνει στους χρήστες την ελευθερία να επιλέγουν συμβιβασμούς όπως υπαγορεύονται από τις ιδιαίτερες συνθήκες τους. + +Ένα αποκεντρωμένο ανταλλακτήριο (DEX) μπορεί να προτιμά τη χρήση της επεκτάσιμης και ιδιωτικής υποδομής ενός validium για συναλλαγές υψηλής αξίας. Μπορεί επίσης να χρησιμοποιήσει ένα ZK-rollup για χρήστες που επιθυμούν υψηλότερες εγγυήσεις ασφάλειας και αξιοπιστίας ενός ZK-rollup. + +## Validium και συμβατότητα EVM {#validiums-and-evm-compatibility} + +Όπως και τα ZK-rollup, τα validium ταιριάζουν κυρίως σε απλές εφαρμογές, όπως ανταλλαγές token και πληρωμές. Η υποστήριξη γενικού υπολογισμού και εκτέλεσης έξυπνων συμβολαίων μεταξύ των validium είναι δύσκολο να εφαρμοστεί, δεδομένου του σημαντικού κόστους απόδειξης εντολών [EVM](/developers/docs/evm/) σε ένα κύκλωμα απόδειξης μηδενικής γνώσης. + +Ορισμένα έργα validium προσπαθούν να παρακάμψουν αυτό το πρόβλημα με τη μεταγλώττιση γλωσσών συμβατών με EVM (π.χ. Solidity, Vyper) για τη δημιουργία προσαρμοσμένου bytecode βελτιστοποιημένου για αποτελεσματική απόδειξη. Ένα μειονέκτημα αυτής της προσέγγισης είναι ότι νέα VM φιλικά προς τις αποδείξεις μηδενικής γνώσης μπορεί να μην υποστηρίζουν σημαντικούς opcode EVM και ότι οι προγραμματιστές πρέπει να γράφουν απευθείας στη γλώσσα υψηλού επιπέδου για μια βέλτιστη εμπειρία. Αυτό δημιουργεί ακόμη περισσότερα προβλήματα: αναγκάζει τους προγραμματιστές να δημιουργήσουν dapp με μια εντελώς νέα στοίβα ανάπτυξης και διακόπτει τη συμβατότητα με την τρέχουσα υποδομή Ethereum. + +Ορισμένες ομάδες, ωστόσο, προσπαθούν να βελτιστοποιήσουν τους υπάρχοντες opcode EVM για κυκλώματα απόδειξης ZK. Αυτό θα οδηγήσει στην ανάπτυξη ενός εικονικού μηχανήματος του Ethereum μηδενικής γνώσης (zkEVM), μιας EVM-συμβατής VM που παράγει αποδείξεις για την επαλήθευση της ορθότητας της εκτέλεσης του προγράμματος. Με ένα zkEVM, οι αλυσίδες validium μπορούν να εκτελούν έξυπνα συμβόλαια εκτός αλυσίδας και να υποβάλλουν αποδείξεις εγκυρότητας για να επαληθεύσουν έναν υπολογισμό εκτός αλυσίδας (χωρίς να χρειάζεται να τον εκτελέσουν ξανά) στο Ethereum. + +[Περισσότερα για τα zkEVM](https://www.alchemy.com/overviews/zkevm). + +## Πώς τα validium πετυχαίνουν την επέκταση του Ethereum; {#scaling-ethereum-with-validiums} + +### 1. Αποθηκευτικός χώρος δεδομένων εκτός αλυσίδας {#offchain-data-storage} + +Τα έργα κλιμάκωσης επιπέδου 2, όπως τα optimistic rollups και τα ZK-rollups, ανταλλάσσουν την άπειρη επεκτασιμότητα των αγνών εκτός αλυσίδας πρωτοκόλλων κλιμάκωσης (π.χ. [Plasma](/developers/docs/scaling/plasma/)) για ασφάλεια δημοσιεύοντας ορισμένα δεδομένα συναλλαγών στο L1. Αυτό όμως σημαίνει ότι οι ιδιότητες επεκτασιμότητας των rollup περιορίζονται από το εύρος ζώνης δεδομένων στο Κεντρικό Δίκτυο του Ethereum [το [data sharding (θραυσματοποίηση δεδομένων)](/roadmap/danksharding/) προτείνει τη βελτίωση της χωρητικότητας αποθήκευσης δεδομένων του Ethereum για αυτόν τον λόγο]. + +Τα validium επιτυγχάνουν επεκτασιμότητα διατηρώντας όλα τα δεδομένα συναλλαγών εκτός αλυσίδας και δημοσιεύουν δεσμεύσεις κατάστασης μόνο (και αποδείξεις εγκυρότητας) όταν αναμεταδίδουν ενημερώσεις κατάστασης στην κύρια αλυσίδα Ethereum. Η ύπαρξη αποδείξεων εγκυρότητας, ωστόσο, παρέχει στα validium υψηλότερες εγγυήσεις ασφάλειας από άλλες αγνές λύσεις κλιμάκωσης εκτός αλυσίδας, συμπεριλαμβανομένων των Plasma και [sidechains](/developers/docs/scaling/sidechains/). Με τη μείωση του όγκου των δεδομένων που πρέπει να επεξεργάζεται το Ethereum πριν από την επικύρωση συναλλαγών εκτός αλυσίδας, οι σχεδιασμοί του validium επεκτείνουν σημαντικά την απόδοση στο Κεντρικό Δίκτυο. + +### 2. Αναδρομικές αποδείξεις {#recursive-proofs} + +Μια αναδρομική απόδειξη είναι μια απόδειξη εγκυρότητας που επαληθεύει την εγκυρότητα άλλων αποδείξεων. Αυτές οι «αποδείξεις αποδείξεων» δημιουργούνται με την αναδρομική συσσώρευση πολλαπλών αποδείξεων μέχρι να δημιουργηθεί μία τελική απόδειξη που επαληθεύει όλες τις προηγούμενες αποδείξεις. Οι αναδρομικές αποδείξεις κλιμακώνουν τις ταχύτητες επεξεργασίας του blockchain αυξάνοντας τον αριθμό των συναλλαγών που μπορούν να επαληθευτούν ανά απόδειξη εγκυρότητας. + +Συνήθως, κάθε απόδειξη εγκυρότητας που υποβάλλει προς επαλήθευση ο χειριστής του validium στο Ethereum επικυρώνει την ακεραιότητα ενός μεμονωμένου μπλοκ. Αντιθέτως, μια μεμονωμένη αναδρομική απόδειξη μπορεί να χρησιμοποιηθεί για να επιβεβαιώσει την εγκυρότητα πολλών μπλοκ validium ταυτόχρονα — αυτό είναι δυνατό αφού το κύκλωμα απόδειξης μπορεί αναδρομικά να συγκεντρώσει αρκετές αποδείξεις μπλοκ σε μία τελική απόδειξη. Εάν το συμβόλαιο επαλήθευσης στην αλυσίδα αποδέχεται την αναδρομική απόδειξη, όλα τα υποκείμενα μπλοκ οριστικοποιούνται αμέσως. + +## Πλεονεκτήματα και μειονεκτήματα των validium {#pros-and-cons-of-validium} + +| Πλεονεκτήματα | Μειονεκτήματα | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Οι αποδείξεις εγκυρότητας επιβάλλουν την ακεραιότητα των συναλλαγών εκτός αλυσίδας και εμποδίζουν τους χειριστές να οριστικοποιήσουν τις ενημερώσεις μη έγκυρης κατάστασης. | Η παραγωγή αποδείξεων εγκυρότητας απαιτεί ειδικό υλικό, το οποίο ενέχει κίνδυνο κεντρικής διαχείρισης. | +| Αυξάνει την κεφαλαιακή απόδοση για τους χρήστες (δίχως καθυστερήσεις στην ανάληψη κεφαλαίων πίσω στο Ethereum) | Περιορισμένη υποστήριξη για γενικό υπολογισμό/έξυπνα συμβόλαια. Απαιτούνται εξειδικευμένες γλώσσες για την ανάπτυξη. | +| Δεν είναι ευάλωτο σε ορισμένες οικονομικές επιθέσεις που αντιμετωπίζουν συστήματα ανθεκτικά στην απάτη μέσα σε εφαρμογές υψηλής αξίας. | Υψηλή υπολογιστική ισχύς που απαιτείται για τη δημιουργία αποδείξεων ZK. Δεν είναι οικονομικά αποδοτικό για εφαρμογές χαμηλής απόδοσης. | +| Μειώνει τα τέλη gas για τους χρήστες μέσω της μη δημοσίευσης calldata στο Κεντρικό Δίκτυο Ethereum. | Πιο αργός υποκειμενικός χρόνος οριστικότητα (10-30 λεπτά για τη δημιουργία απόδειξης ZK), αλλά ταχύτερη απόκριση έως την πλήρη οριστικότητα επειδή δεν υπάρχει καθυστέρηση για λόγους αμφισβήτησης. | +| Κατάλληλο για συγκεκριμένες περιπτώσεις χρήσης, όπως οι συναλλαγές ή τα παιχνίδια blockchain που δίνουν προτεραιότητα στη μυστικότητα των συναλλαγών και την επεκτασιμότητα. | Οι χρήστες μπορούν να αποτραπούν από την ανάληψη χρημάτων, καθώς η δημιουργία αποδεικτικών ιδιοκτησίας της Merkle απαιτεί τα δεδομένα εκτός αλυσίδας να είναι διαθέσιμα ανά πάσα στιγμή. | +| Η διαθεσιμότητα δεδομένων εκτός αλυσίδας παρέχει υψηλότερα επίπεδα απόδοσης και αυξάνει την κλιμάκωση. | Το μοντέλο ασφαλείας βασίζεται σε υποθέσεις εμπιστοσύνης και κρυπτοοικονομικά κίνητρα, σε αντίθεση με τα ZK-rollup, τα οποία βασίζονται καθαρά σε κρυπτογραφικούς μηχανισμούς ασφάλειας. | + +### Χρήση Validium/Volitions {#use-validium-and-volitions} + +Υπάρχουν πολλά έργα που παρέχουν υλοποιήσεις Validium και volition τις οποίες μπορείτε να ενσωματώσετε στις dapp σας: + +**StarkWare StarkEx** - _Το StarkEx είναι μια λύση επεκτασιμότητας Ethereum Επίπεδου 2 (L2) που βασίζεται σε αποδείξεις εγκυρότητας. Μπορεί να λειτουργήσει είτε σε λειτουργίες διαθεσιμότητας δεδομένων ZK-Rollup είτε Validium._ + +- [Τεκμηρίωση](https://docs.starkware.co/starkex-v4/starkex-deep-dive/data-availability-modes#validium) +- [Ιστότοπος](https://starkware.co/starkex/) + +**Matter Labs zkPorter**- _Το zkPorter είναι ένα πρωτόκολλο κλιμάκωσης επιπέδου 2 που αντιμετωπίζει τη διαθεσιμότητα δεδομένων με μια υβριδική προσέγγιση που συνδυάζει τις ιδέες του zkRollup και της θραυσματοποίησης (sharding). Μπορεί να υποστηρίξει αυθαίρετα πολλά τμήματα, το καθένα με τη δική του πολιτική διαθεσιμότητας δεδομένων._ + +- [Ιστολόγιο](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf) +- [Τεκμηρίωση](https://docs.zksync.io/zk-stack/concepts/data-availability) +- [Ιστότοπος](https://zksync.io/) + +## Περισσότερες πληροφορίες {#further-reading} + +- [Το Validium και το Επίπεδο 2 Two-By-Two — Τεύχος Αρ. 99](https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two) +- [ZK-rollups ή Validium](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263) +- [Volition and the Emerging Data Availability spectrum](https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb) +- [Πακέτα ενηνέρωσης, Validiums και Volitions: Μάθετε για τις πιο δημοφιλείς λύσεις κλιμάκωσης του Ethereum](https://www.defipulse.com/blog/rollups-validiums-and-volitions-learn-about-the-hottest-ethereum-scaling-solutions) +- [Πρακτικός οδηγός για τα πακέτα ενημέρωσης Ethereum.](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) diff --git a/public/content/translations/el/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/el/developers/docs/scaling/zk-rollups/index.md new file mode 100644 index 00000000000..357cb8a7bc6 --- /dev/null +++ b/public/content/translations/el/developers/docs/scaling/zk-rollups/index.md @@ -0,0 +1,256 @@ +--- +title: Rollup μηδενικής γνώσης +description: Μια εισαγωγή στa zero-knowledge rollup — μια λύση κλιμάκωσης που χρησιμοποιεί η κοινότητα του Ethereum. +lang: el +--- + +Τα Zero-knowledge rollups (ZK-rollups) είναι [λύσεις κλιμάκωσης](/developers/docs/scaling/) επιπέδου 2 που αυξάνουν την απόδοση στο Ethereum Mainnet μετακινώντας τον υπολογισμό και την αποθήκευση κατάστασης εκτός αλυσίδας. Τα ZK-rollup μπορούν να επεξεργαστούν χιλιάδες συναλλαγές σε μια παρτίδα και στη συνέχεια να δημοσιεύσουν μόνο μερικά ελάχιστα συνοπτικά δεδομένα στο Κεντρικό Δίκτυο. Αυτά τα συνοπτικά δεδομένα προσδιορίζουν τις αλλαγές που πρέπει να γίνουν στην κατάσταση Ethereum και κάποια κρυπτογραφική απόδειξη ότι αυτές οι αλλαγές είναι σωστές. + +## Προαπαιτούμενα {#prerequisites} + +Θα έπρεπε να έχετε διαβάσει και κατανοήσει τη σελίδα μας για την [Κλιμάκωση Ethereum](/developers/docs/scaling/) και το [Επίπεδο 2](/layer-2). + +## Τι είναι τα zero-knowledge rollup; {#what-are-zk-rollups} + +Τα **Zero-knowledge rollup (ZK-rollup) ή πακέτα ενημερώσεων μηδενικής γνώσης** ομαδοποιούν (ή συσσωρεύουν σε ένα πακέτο) συναλλαγές σε παρτίδες που εκτελούνται εκτός αλυσίδας. Ο υπολογισμός εκτός αλυσίδας μειώνει τον όγκο των δεδομένων που πρέπει να αναρτηθούν στο blockchain. Οι χειριστές ZK-rollup υποβάλλουν μια σύνοψη των αλλαγών που απαιτούνται για την αποτύπωση όλων των συναλλαγών σε μία παρτίδα αντί να στέλνουν κάθε συναλλαγή ξεχωριστά. Παράγουν επίσης [αποδείξεις εγκυρότητας](/glossary/#validity-proof) για να αποδείξουν την ορθότητα των αλλαγών τους. + +Η κατάσταση του ZK-rollup συντηρείται από ένα έξυπνο συμβόλαιο που αναπτύσσεται στο δίκτυο Ethereum. Για να ενημερώσετε αυτή την κατάσταση, οι κόμβοι ZK-rollup πρέπει να υποβάλουν μια απόδειξη εγκυρότητας προς επαλήθευση. Όπως αναφέρθηκε, η απόδειξη εγκυρότητας είναι μια κρυπτογραφική διασφάλιση ότι η αλλαγή κατάστασης που προτείνεται από το πακέτο ενημέρωσης είναι ουσιαστικά το αποτέλεσμα της εκτέλεσης της συγκεκριμένης παρτίδας συναλλαγών. Αυτό σημαίνει ότι τα ZK-rollups χρειάζεται μόνο να παρέχουν αποδείξεις εγκυρότητας για την οριστικοποίηση των συναλλαγών στο Ethereum αντί να δημοσιεύουν όλα τα δεδομένα συναλλαγών στην αλυσίδα, όπως τα [optimistic rollups](/developers/docs/scaling/optimistic-rollups/). + +Δεν υπάρχουν καθυστερήσεις κατά τη μεταφορά κεφαλαίων από ένα ZK-rollup στο Ethereum, επειδή οι συναλλαγές εξόδου εκτελούνται μόλις το συμβόλαιο ZK-rollup επαληθεύσει την απόδειξη εγκυρότητας. Αντίθετα, η ανάληψη κεφαλαίων από optimistic rollup υπόκειται σε καθυστέρηση ώστε να δοθεί σε οποιονδήποτε η δυνατότητα να αμφισβητήσει τη συναλλαγή εξόδου με μια [απόδειξη απάτης](/glossary/#fraud-proof). + +Τα ZK-rollup γράφουν συναλλαγές στο Ethereum ως `calldata`. Τα `calldata` είναι εκεί όπου αποθηκεύονται τα δεδομένα που περιλαμβάνονται σε εξωτερικές κλήσεις προς συναρτήσεις έξυπνων συμβολαίων. Οι πληροφορίες στο `calldata` δημοσιεύονται στην κρυπτοαλυσίδα, επιτρέποντας σε οποιονδήποτε να ανακατασκευάσει ανεξάρτητα την κατάσταση του πακέτου ενημέρωσης. Τα ZK-rollup χρησιμοποιούν τεχνικές συμπίεσης για τη μείωση των δεδομένων συναλλαγών: για παράδειγμα, οι λογαριασμοί αντιπροσωπεύονται από ένα ευρετήριο και όχι από μια διεύθυνση, κάτι που εξοικονομεί 28 byte δεδομένων. Η δημοσίευση δεδομένων στην αλυσίδα είναι ένα σημαντικό κόστος για τα rollups, επομένως η συμπίεση δεδομένων μπορεί να μειώσει τα τέλη για τους χρήστες. + +## Πώς αλληλεπιδρούν τα ZK-rollups με το Ethereum; {#zk-rollups-and-ethereum} + +Μια αλυσίδα ZK-rollup είναι ένα πρωτόκολλο εκτός αλυσίδας που λειτουργεί πάνω στην κρυπτοαλυσίδα Ethereum, το οποίο διαχειρίζονται τα έξυπνα συμβόλαια Ethereum εντός της αλυσίδας. Τα ZK-rollup εκτελούν συναλλαγές εκτός του Κεντρικού Δικτύου, αλλά σε περιοδική βάση δεσμεύουν παρτίδες συναλλαγών εκτός αλυσίδας σε ένα συμβόλαιο με πακέτο ενημέρωσης στην αλυσίδα. Αυτό το αρχείο συναλλαγών είναι αμετάβλητο, όπως η αλυσίδα μπλοκ Ethereum, και σχηματίζει την αλυσίδα ZK-rollup. + +Η βασική αρχιτεκτονική του ZK-rollup αποτελείται από τα ακόλουθα στοιχεία: + +1. **Συμβόλαια επί της αλυσίδας**: Όπως αναφέρθηκε, το πρωτόκολλο ZK-rollup ελέγχεται από έξυπνα συμβόλαια που εκτελούνται στο Ethereum. Αυτό περιλαμβάνει το κύριο συμβόλαιο που αποθηκεύει το πακέτο ενημέρωσης του μπλοκ, παρακολουθεί τις καταθέσεις και τις ενημερώσεις κατάστασης. Ένα άλλο συμβόλαιο στην αλυσίδα (το συμβόλαιο επαλήθευσης) επαληθεύει τις αποδείξεις μηδενικής γνώσης που υποβάλλονται από τους παραγωγούς μπλοκ. Έτσι, το Ethereum χρησιμεύει ως το βασικό επίπεδο ή "επίπεδο 1" για το ZK-rollup. + +2. **Εικονική Μηχανή (VM) εκτός αλυσίδας**: Ενώ το πρωτόκολλο ZK-rollup ζει στο Ethereum, η εκτέλεση συναλλαγών και η αποθήκευση κατάστασης συμβαίνουν σε μια ξεχωριστή εικονική μηχανή ανεξάρτητη από το [EVM](/developers/docs/evm/). Αυτή η εικονική μηχανή (VM) εκτός αλυσίδας είναι το περιβάλλον εκτέλεσης για συναλλαγές στο ZK-rollup και χρησιμεύει ως το δευτερεύον επίπεδο ή «επίπεδο 2» για το πρωτόκολλο ZK-rollup. Οι αποδείξεις εγκυρότητας που επαληθεύονται στο Ethereum Mainnet εγγυώνται τη σωστή λειτουργία των μεταβάσεων κατάστασης στην εικονική μηχανή εκτός αλυσίδας. + +Τα ZK-rollups είναι "υβριδικές λύσεις κλιμάκωσης", πρωτόκολλα εκτός αλυσίδας που λειτουργούν ανεξάρτητα αλλά αντλούν ασφάλεια από το Ethereum. Ειδικότερα, το δίκτυο Ethereum επιβάλλει την εγκυρότητα των ενημερώσεων κατάστασης στο ZK-rollup και εγγυάται τη διαθεσιμότητα των δεδομένων πίσω από κάθε ενημέρωση στην κατάσταση του rollup. Ως αποτέλεσμα, τα ZK-rollups είναι σημαντικά ασφαλέστερα από τις καθαρές λύσεις κλιμάκωσης εκτός αλυσίδας, όπως οι [πλευρικές αλυσίδες](/developers/docs/scaling/sidechains/), οι οποίες είναι υπεύθυνες για τις ιδιότητες ασφάλειάς τους ή τα [validiums](/developers/docs/scaling/validium/), τα οποία επίσης επαληθεύουν συναλλαγές στο Ethereum με αποδείξεις εγκυρότητας, αλλά αποθηκεύουν δεδομένα συναλλαγών αλλού. + +Τα ZK-rollup βασίζονται στο κύριο πρωτόκολλο Ethereum για τα εξής: + +### Διαθεσιμότητα δεδομένων {#data-availability} + +Τα ZK-rollups δημοσιεύουν δεδομένα κατάστασης για κάθε συναλλαγή που επεξεργάζεται εκτός αλυσίδας στο Ethereum. Με αυτά τα δεδομένα, είναι δυνατό για άτομα ή επιχειρήσεις να αναπαράγουν την κατάσταση του rollup και να επικυρώσουν οι ίδιοι την αλυσίδα. Το Ethereum καθιστά αυτά τα δεδομένα διαθέσιμα σε όλους τους συμμετέχοντες στο δίκτυο ως `calldata`. + +Τα ZK-rollup δεν χρειάζεται να δημοσιεύουν πολλά δεδομένα συναλλαγών επί της αλυσίδας, επειδή οι αποδείξεις εγκυρότητας επαληθεύουν ήδη την αυθεντικότητα των μεταβάσεων κατάστασης. Ωστόσο, η αποθήκευση δεδομένων στην αλυσίδα εξακολουθεί να είναι σημαντική επειδή επιτρέπει τη χωρίς άδεια, ανεξάρτητη επαλήθευση της κατάστασης της αλυσίδας επιπέδου 2, η οποία με τη σειρά της επιτρέπει σε οποιονδήποτε να υποβάλει παρτίδες συναλλαγών, αποτρέποντας τους κακόβουλους χειριστές από τη λογοκρισία ή το πάγωμα της αλυσίδας. + +Η πρόσβαση στην αλυσίδα είναι απαραίτητη για τους χρήστες για να αλληλεπιδράσουν με το rollup. Χωρίς πρόσβαση στα δεδομένα κατάστασης, οι χρήστες δεν μπορούν να ρωτήσουν το υπόλοιπο του λογαριασμού τους ή να ξεκινήσουν συναλλαγές (π.χ. αναλήψεις) που βασίζονται σε πληροφορίες κατάστασης. + +### Οριστικότητα συναλλαγής {#transaction-finality} + +Το Ethereum λειτουργεί ως επίπεδο διευθέτησης για τα ZK-rollups: οι συναλλαγές επιπέδου 2 ολοκληρώνονται μόνο εάν το συμβόλαιο επιπέδου 1 αποδεχτεί την απόδειξη εγκυρότητας. Αυτό εξαλείφει τον κίνδυνο οι κακόβουλοι χειριστές να διαφθείρουν την αλυσίδα (π.χ. κλοπή κεφαλαίων rollup) καθώς κάθε συναλλαγή πρέπει να εγκριθεί στο Κεντρικό Δίκτυο. Επίσης, το Ethereum εγγυάται ότι οι λειτουργίες των χρηστών δεν μπορούν να αντιστραφούν μόλις οριστικοποιηθούν στο L1. + +### Αντίσταση στη Λογοκρισία {#censorship-resistance} + +Τα περισσότερα ZK-rollups χρησιμοποιούν έναν "υπερκόμβο" (τον χειριστή) για να εκτελέσουν συναλλαγές, να παράγουν παρτίδες και να υποβάλουν μπλοκ στο L1. Παρότι αυτό διασφαλίζει την αποτελεσματικότητα, αυξάνει τον κίνδυνο λογοκρισίας: οι κακόβουλοι χειριστές ZK-rollup μπορούν να λογοκρίνουν τους χρήστες αρνούμενοι να συμπεριλάβουν τις συναλλαγές τους σε παρτίδες. + +Ως μέτρο ασφαλείας, τα ZK-rollup επιτρέπουν στους χρήστες να υποβάλλουν συναλλαγές απευθείας στο συμβόλαιο του rollup στο Κεντρικό Δίκτυο, εάν πιστεύουν ότι λογοκρίνονται από τον χειριστή. Αυτό επιτρέπει στους χρήστες να εξαναγκάσουν μια έξοδο από το ZK-rollup στο Ethereum χωρίς να χρειάζεται να βασίζονται στην άδεια του χειριστή. + +## Πώς λειτουργούν τα ZK-rollups; {#how-do-zk-rollups-work} + +### Συναλλαγές {#transactions} + +Οι χρήστες ενός ZK-rollup υπογράφουν συναλλαγές και υποβάλλουν στους χειριστές L2 για επεξεργασία και συμπερίληψη στην επόμενη παρτίδα. Σε ορισμένες περιπτώσεις, ο χειριστής είναι μια κεντρικοποιημένη οντότητα, ονόματι sequencer, που εκτελεί συναλλαγές, τις συγκεντρώνει σε παρτίδες και τις υποβάλλει στο L1. Το sequencer σε αυτό το σύστημα είναι η μόνη οντότητα που επιτρέπεται να παράγει μπλοκ στο L2 και να προσθέτει συναλλαγές rollup στο συμβόλαιο του ZK-rollup. + +Άλλα ZK-rollup μπορούν να εναλλάσουν τον ρόλο χειριστή χρησιμοποιώντας ένα σετ επικύρωσης [απόδειξης συμμετοχής](/developers/docs/consensus-mechanisms/pos/). Οι υποψήφιοι χειριστές καταθέτουν κεφάλαια στο συμβόλαιο του rollup, με το μέγεθος κάθε μεριδίου κεφαλαίου να επηρεάζει τις πιθανότητες αυτού που αποθηκεύει κεφάλαιο να επιλεγεί για να παραγάγει το επόμενο πακέτο του rollup. Το δεσμευμένο κεφάλαιο του χειριστή μπορεί να περικοπεί αν ενεργήσει κακόβουλα, γεγονός που τον ωθεί να δημοσιεύει έγκυρα μπλοκ. + +#### Πώς τα ZK-rollup δημοσιεύουν δεδομένα συναλλαγών στο Ethereum {#how-zk-rollups-publish-transaction-data-on-ethereum} + +Όπως εξηγήθηκε, τα δεδομένα συναλλαγών δημοσιεύονται στο Ethereum ως `calldata`. Το `calldata` είναι μια περιοχή δεδομένων σε ένα έξυπνο συμβόλαιο που χρησιμοποιείται για τη μεταφορά ορισμάτων σε μια συνάρτηση και συμπεριφέρεται παρόμοια με τη [μνήμη](/developers/docs/smart-contracts/anatomy/#memory). Ενώ και αν τα `calldata` δεν αποθηκεύονται ως μέρος της κατάστασης του Ethereum, παραμένουν στην αλυσίδα ως μέρος των [αρχείων καταγραφής ιστορικού](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs) της αλυσίδας Ethereum. Το `calldata` δεν επηρεάζει την κατάσταση του Ethereum, καθιστώντας το έναν φθηνό τρόπο αποθήκευσης δεδομένων στην αλυσίδα. + +Η λέξη-κλειδί `calldata` συχνά προσδιορίζει τη μέθοδο του έξυπνου συμβολαίου που καλείται από μια συναλλαγή και περιέχει εισόδους στη μέθοδο με τη μορφή μιας αυθαίρετης ακολουθίας byte. Τα πακέτα ενημέρωσης ZK χρησιμοποιούν το `calldata` για να δημοσιεύσουν συμπιεσμένα δεδομένα συναλλαγών στην αλυσίδα. Ο χειριστής του πακέτου ενημέρωσης απλώς προσθέτει ένα νέο σύνολο δεδομένων καλώντας την απαιτούμενη συνάρτηση στο συμβόλαιο του πακέτου ενημέρωσης και περνά τα συμπιεσμένα δεδομένα ως ορίσματα συνάρτησης. Αυτό βοηθά στη μείωση του κόστους για τους χρήστες, καθώς ένα μεγάλο μέρος των τελών των rollup προορίζονται προς την αποθήκευση δεδομένων συναλλαγών στην αλυσίδα. + +### Δεσμεύσεις κατάστασης {#state-commitments} + +Η κατάσταση του ZK-rollup, η οποία περιλαμβάνει λογαριασμούς και υπόλοιπα L2, αναπαρίσταται ως [δέντρο Merkle](/whitepaper/#merkle-trees). Ένα κρυπτογραφικό hash της ρίζας του δέντρου Merkle (ρίζα Merkle) αποθηκεύεται στη σύμβαση στην αλυσίδα, επιτρέποντας στο πρωτόκολλο του πακέτου ενημέρωσης να παρακολουθεί τις αλλαγές στην κατάσταση του ZK-rollup. + +Το rollup μεταβαίνει σε μια νέα κατάσταση μετά την εκτέλεση ενός νέου συνόλου συναλλαγών. Ο χειριστής που ξεκίνησε τη μετάβαση κατάστασης πρέπει να υπολογίσει μια νέα ρίζα κατάστασης και να την υποβάλει στη σύμβαση στην αλυσίδα. Εάν η απόδειξη εγκυρότητας που σχετίζεται με τη δέσμη επαληθευτεί από το συμβόλαιο επαλήθευσης, η νέα ρίζα Merkle γίνεται η κανονική ρίζα κατάστασης του ZK-rollup. + +Εκτός από τον υπολογισμό των ριζών κατάστασης, ο χειριστής ZK-rollup δημιουργεί επίσης μια ρίζα δέσμης, τη ρίζα ενός δέντρου Merkle που περιλαμβάνει όλες τις συναλλαγές σε μια δέσμη. Όταν υποβάλλεται μια νέα δέσμη, το συμβόλαιο rollup αποθηκεύει τη ρίζα δέσμης, επιτρέποντας στους χρήστες να αποδείξουν ότι μια συναλλαγή (π.χ. αίτημα ανάληψης) συμπεριλήφθηκε στη δέσμη. Οι χρήστες θα πρέπει να παράσχουν λεπτομέρειες συναλλαγής, τη ρίζα δέσμης και μια [απόδειξη Merkle](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) που θα δείχνει τη διαδρομή συμπερίληψης. + +### Αποδείξεις εγκυρότητας {#validity-proofs} + +Η νέα ρίζα κατάστασης που υποβάλλει ο χειριστής του ZK-rollup στο συμβόλαιο επιπέδου 1 είναι το αποτέλεσμα ενημερώσεων στην κατάσταση του rollup. Ας πούμε ότι η Alice στέλνει 10 token στον Bob, ο χειριστής απλά μειώνει το υπόλοιπο της Alice κατά 10 και αυξάνει το υπόλοιπο του Bob κατά 10. Στη συνέχεια, ο χειριστής κάνει hash τα ενημερωμένα δεδομένα λογαριασμού, ανακατασκευάζει το δέντρο Merkle του πακέτου ενημέρωσης και υποβάλλει τη νέα ρίζα Merkle στο συμβόλαιο της αλυσίδας. + +Αλλά το συμβόλαιο rollup δε θα αποδεχτεί αυτόματα την προτεινόμενη δέσμευση κατάστασης μέχρι ο χειριστής να αποδείξει ότι η νέα ρίζα Merkle προέκυψε από σωστές ενημερώσεις στην κατάσταση του rollup. Ο χειριστής ZK-rollup το κάνει αυτό με την παραγωγή μιας απόδειξης εγκυρότητας, δηλαδή μιας συνοπτικής κρυπτογραφικής δέσμευσης που επαληθεύει τη σωστή εκτέλεση συνόλων συναλλαγών. + +Οι αποδείξεις εγκυρότητας επιτρέπουν στα μέρη να αποδείξουν την ορθότητα μιας δήλωσης χωρίς να αποκαλύπτουν την ίδια τη δήλωση. Ως εκ τούτου, ονομάζονται επίσης αποδείξεις μηδενικής γνώσης. Τα πακέτα ZK χρησιμοποιούν αποδείξεις εγκυρότητας για να επιβεβαιώσουν τη σωστή λειτουργία των μεταβάσεων κατάστασης εκτός αλυσίδας χωρίς να χρειάζεται να εκτελέσουν ξανά τις συναλλαγές στο Ethereum. Αυτές οι αποδείξεις μπορούν να έχουν τη μορφή ενός [ZK-SNARK](https://arxiv.org/abs/2202.06877) (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) ή [ZK-STARK](https://eprint.iacr.org/2018/046) (Zero-Knowledge Scalable Transparent Argument of Knowledge). + +Τόσο τα SNARK όσο και τα STARK βοηθούν στην επιβεβαίωση της ακεραιότητας του υπολογισμού στα πακέτα ενημέρωσης ZK εκτός αλυσίδας, αν και κάθε τύπος απόδειξης έχει διακριτά χαρακτηριστικά. + +**ZK-SNARKs** + +Για να λειτουργήσει το πρωτόκολλο ZK-SNARK, είναι απαραίτητη η δημιουργία μιας κοινής συμβολοσειράς αναφοράς (CRS): η CRS παρέχει δημόσιες παραμέτρους για την απόδειξη και την επαλήθευση αποδείξεων εγκυρότητας. Η ασφάλεια του συστήματος απόδειξης εξαρτάται από τη ρύθμιση CRS. Εάν οι πληροφορίες που χρησιμοποιούνται για τη δημιουργία δημόσιων παραμέτρων πέσουν στα χέρια κακόβουλων δραστών, ενδέχεται να είναι σε θέση να δημιουργήσουν ψευδείς αποδείξεις εγκυρότητας. + +Ορισμένα ZK-rollup προσπαθούν να επιλύσουν αυτό το πρόβλημα χρησιμοποιώντας μια [τελετή υπολογισμού πολλαπλών μερών (MPC)](https://zkproof.org/2021/06/30/setup-ceremonies/amp/), που περιλαμβάνει αξιόπιστα άτομα, για τη δημιουργία δημόσιων παραμέτρων για το κύκλωμα ZK-SNARK. Κάθε μέρος συμβάλλει με κάποια τυχαιότητα (που ονομάζεται "τοξικά απόβλητα") στη δημιουργία του CRS, το οποίο πρέπει να καταστρέψουν αμέσως. + +Οι αξιόπιστες ρυθμίσεις χρησιμοποιούνται επειδή αυξάνουν την ασφάλεια της ρύθμισης CRS. Αρκεί ένας ειλικρινής συμμετέχων να καταστρέψει την είσοδό του καθώς η ασφάλεια του συστήματος ZK-SNARK είναι εγγυημένη. Ωστόσο, αυτή η προσέγγιση απαιτεί την επίδειξη εμπιστοσύνης σε όσους εμπλέκονται ότι θα διαγράψουν τη δειγματοληπτική τυχαιότητα τους και δεν θα υπονομεύσουν τις εγγυήσεις ασφάλειας του συστήματος. + +Αφήνοντας κατά μέρος τις υποθέσεις εμπιστοσύνης, τα ZK-SNARK είναι δημοφιλή για τα μικρά μεγέθη απόδειξης και την επαλήθευση σταθερού χρόνου. Καθώς η επαλήθευση απόδειξης στο L1 αποτελεί το μεγαλύτερο κόστος λειτουργίας ενός ZK-rollup, τα L2 χρησιμοποιούν ZK-SNARK για τη δημιουργία αποδείξεων που μπορούν να επαληθευτούν γρήγορα και φθηνά στο Κεντρικό Δίκτυο. + +**ZK-STARKs** + +Όπως τα ZK-SNARKs, τα ZK-STARKs αποδεικνύουν τη γνησιότητα ενός υπολογισμού εκτός αλυσίδας χωρίς να αποκαλύπτουν τα εισαγόμενα δεδομένα. Ωστόσο, τα ZK-STARK θεωρούνται βελτίωση των ZK-SNARK λόγω της κλιμακωσιμότητας και της διαφάνειας τους. + +Τα ZK-STARKs είναι 'διαφανή', καθώς μπορούν να λειτουργήσουν χωρίς την αξιόπιστη ρύθμιση μιας Κοινής Σειράς Αναφοράς (CRS). Αντίθετα, τα ZK-STARKs βασίζονται σε δημόσια επαληθεύσιμη τυχαιότητα για να ορίσουν παραμέτρους για τη δημιουργία και επαλήθευση αποδείξεων. + +Τα ZK-STARK παρέχουν επίσης μεγαλύτερη επεκτασιμότητα επειδή ο χρόνος που απαιτείται για την απόδειξη και επαλήθευση αποδείξεων εγκυρότητας αυξάνεται _σχεδόν γραμμικά_ σε σχέση με την πολυπλοκότητα του υποκείμενου υπολογισμού. Με τα ZK-SNARK, οι χρόνοι απόδειξης και επαλήθευσης επεκτείνονται _γραμμικά_ σε σχέση με το μέγεθος του υποκείμενου υπολογισμού. Αυτό σημαίνει ότι τα ZK-STARK απαιτούν λιγότερο χρόνο από τα ZK-SNARK για απόδειξη και επαλήθευση όταν εμπλέκονται μεγάλα σύνολα δεδομένων, γεγονός το οποία τα καθιστά χρήσιμα για εφαρμογές υψηλού όγκου. + +Τα ZK-STARK είναι επίσης ασφαλή έναντι των κβαντικών υπολογιστών, ενώ πιστεύεται ευρέως ότι η Ελλειπτική Καμπύλη Κρυπτογραφίας (ECC) που χρησιμοποιείται στα ZK-SNARK είναι ευάλωτη σε επιθέσεις κβαντικών υπολογιστών. Το μειονέκτημα των ZK-STARKs είναι ότι παράγουν μεγαλύτερα μεγέθη απόδειξης, τα οποία είναι πιο δαπανηρά για επαλήθευση στο Ethereum. + +#### Πώς λειτουργούν οι αποδείξεις εγκυρότητας στα ZK-rollup; {#validity-proofs-in-zk-rollups} + +##### Δημιουργία απόδειξης + +Πριν αποδεχτεί τις συναλλαγές, ο χειριστής θα πραγματοποιήσει τους συνήθεις ελέγχους. Αυτοί περιλαμβάνουν την επιβεβαίωση ότι: + +- Οι λογαριασμοί αποστολέα και παραλήπτη είναι μέρος του δέντρου κατάστασης. +- Ο αποστολέας έχει αρκετά χρήματα για να επεξεργαστεί τη συναλλαγή. +- Η συναλλαγή είναι σωστή και ταιριάζει με το δημόσιο κλειδί του αποστολέα στο rollup. +- Ο αριθμός nonce του αποστολέα είναι σωστός, κ.λπ. + +Μόλις ο κόμβος ZK-rollup έχει αρκετές συναλλαγές, τις συγκεντρώνει σε ένα πακέτο και συμπιέζει εισόδους για το κύκλωμα απόδειξης για να συμπεριληφθεί σε μια συνοπτική απόδειξη ZK. Αυτό περιλαμβάνει: + +- Μια ρίζα δέντρου Merkle που περιλαμβάνει όλες τις συναλλαγές στο πακέτο. +- Αποδείξεις Merkle για συναλλαγές για να αποδειχθεί η συμπερίληψη στο πακέτο. +- Αποδείξεις Merkle για κάθε ζεύγος αποστολέα-παραλήπτη σε συναλλαγές για να αποδειχθεί ότι αυτοί οι λογαριασμοί είναι μέρος του δέντρου κατάστασης του rollup. +- Ένα σύνολο ενδιάμεσων ριζών κατάστασης, που προέρχονται από την ενημέρωση της ρίζας κατάστασης μετά την εφαρμογή ενημερώσεων κατάστασης για κάθε συναλλαγή (δηλαδή, μείωση λογαριασμών αποστολέα και αύξηση λογαριασμών παραλήπτη). + +Το κύκλωμα απόδειξης υπολογίζει την απόδειξη εγκυρότητας με τη δημιουργία «βρόχου» πάνω από κάθε συναλλαγή και την εκτέλεση των ίδιων ελέγχων που ο χειριστής ολοκλήρωσε πριν από την επεξεργασία της συναλλαγής. Αρχικά, επαληθεύει ότι ο λογαριασμός αποστολέα αποτελεί μέρος της υπάρχουσας root κατάστασης χρησιμοποιώντας την παρεχόμενη απόδειξη Merkle. Έπειτα, μειώνει το υπόλοιπο του αποστολέα, αυξάνει το nonce, κατακερματίζει τα ενημερωμένα στοιχεία λογαριασμού και τα συνδυάζει με την απόδειξη Merkle για τη δημιουργία μιας νέας ρίζας Merkle. + +Αυτή η ρίζα Merkle αντικατοπτρίζει τη μοναδική αλλαγή στην κατάσταση της συλλογής ZK: μια αλλαγή στο υπόλοιπο του αποστολέα και στο nonce. Αυτό είναι δυνατό επειδή η απόδειξη Merkle που χρησιμοποιείται για να αποδειχθεί η ύπαρξη του λογαριασμού χρησιμοποιείται για να προκύψει η νέα ρίζα κατάστασης. + +Το κύκλωμα απόδειξης εκτελεί την ίδια διαδικασία στον λογαριασμό του παραλήπτη. Ελέγχει εάν ο λογαριασμός του παραλήπτη υπάρχει κάτω από την ενδιάμεση ρίζα κατάστασης (χρησιμοποιώντας την απόδειξη Merkle), αυξάνει το υπόλοιπό του, κατακερματίζει ξανά τα δεδομένα του λογαριασμού και τα συνδυάζει με την απόδειξη Merkle για να δημιουργήσει μια νέα ρίζα κατάστασης. + +Η διαδικασία επαναλαμβάνεται για κάθε συναλλαγή. Κάθε «βρόχος» δημιουργεί μια νέα ρίζα κατάστασης από την ενημέρωση του λογαριασμού του αποστολέα και μια επόμενη νέα ρίζα από την ενημέρωση του λογαριασμού του παραλήπτη. Όπως εξηγήθηκε, κάθε ενημέρωση στη ρίζα κατάστασης αντιπροσωπεύει ένα μέρος του δέντρου κατάστασης του πακέτου ενημέρωσης που αλλάζει. + +Το κύκλωμα απόδειξης ZK επαναλαμβάνει ολόκληρο το πακέτο συναλλαγών, επαληθεύοντας την ακολουθία ενημερώσεων που οδηγούν σε μια τελική ρίζα κατάστασης μετά την εκτέλεση της τελευταίας συναλλαγής. Η τελευταία υπολογισμένη ρίζα Merkle γίνεται η νεότερη κανονική ρίζα κατάστασης του ZK-rollup. + +##### Επαλήθευση απόδειξης + +Μετά την επαλήθευση της ορθότητας των ενημερώσεων κατάστασης από το κύκλωμα απόδειξης, ο χειριστής L2 υποβάλλει την υπολογισμένη απόδειξη εγκυρότητας στο συμβόλαιο επαλήθευσης στο L1. Το κύκλωμα επαλήθευσης του συμβολαίου επαληθεύει την εγκυρότητα της απόδειξης και ελέγχει επίσης δημόσιες εισόδους που αποτελούν μέρος της απόδειξης: + +- **Προ-κατάσταση ρίζας**: Η παλιά ρίζα κατάστασης του ZK-rollup (δηλαδή, πριν εκτελεστούν οι συναλλαγές παρτίδας), που αντανακλά την τελευταία γνωστή έγκυρη κατάσταση της αλυσίδας L2. + +- **Μετα-κατάσταση ρίζας**: Η νέα ρίζα κατάστασης του ZK-rollup (δηλαδή, μετά την εκτέλεση των συναλλαγών σε μορφή παρτίδας), που αντανακλά τη νεότερη κατάσταση της αλυσίδας L2. Η μετα-κατάσταση root είναι η τελική root που προκύπτει μετά την εφαρμογή ενημερώσεων κατάστασης στο κύκλωμα απόδειξης. + +- **Ρίζα παρτίδας**: Η ρίζα Merkle της παρτίδας, που προκύπτει από τη _merklization_ των συναλλαγών στην παρτίδα και το hashing της ρίζας του δέντρου. + +- **Εισαγωγές συναλλαγών**: Δεδομένα που σχετίζονται με τις συναλλαγές που εκτελέστηκαν ως μέρος της υποβληθείσας παρτίδας. + +Εάν η απόδειξη ικανοποιεί το κύκλωμα (δηλαδή, είναι έγκυρη), αυτό σημαίνει ότι υπάρχει μια ακολουθία έγκυρων συναλλαγών που μεταφέρουν το rollup από την προηγούμενη κατάσταση (κρυπτογραφημένα ηλεκτρονικά αποτυπώματα από την προ-κατάσταση ρίζας) σε μια νέα κατάσταση (κρυπτογραφημένα ηλεκτρονικά αποτυπώματα από τη μετα-κατάσταση ρίζας). Εάν η προ-κατάσταση ρίζας ταιριάζει με τη ρίζα που αποθηκεύεται στο συμβόλαιο rollup και η απόδειξη είναι έγκυρη, το συμβόλαιο rollup παίρνει τη μετα-κατάσταση ρίζας από την απόδειξη και ενημερώνει το δέντρο κατάστασής του για να αντικατοπτρίζει την αλλαγμένη κατάσταση του rollup. + +### Είσοδοι και έξοδοι {#entries-and-exits} + +Οι χρήστες εισέρχονται στο ZK-rollup καταθέτοντας περιουσιακό στοιχείο στο συμβόλαιο του πακέτου ενημέρωσης που είναι αναπτυγμένο στην αλυσίδα επιπέδου 1. Αυτή η συναλλαγή μπαίνει σε ουρά καθώς μόνο οι χειριστές μπορούν να υποβάλουν συναλλαγές στο συμβόλαιο του πακέτου ενημέρωσης. + +Εάν η εκκρεμής ουρά καταθέσεων αρχίσει να γεμίζει, ο χειριστής του ZK-rollup θα πάρει τις συναλλαγές κατάθεσης και θα τις υποβάλει στο συμβόλαιο rollup. Μόλις τα κεφάλαια του χρήστη βρίσκονται στο rollup, μπορούν να ξεκινήσουν συναλλαγές στέλνοντας συναλλαγές στον χειριστή για επεξεργασία. Οι χρήστες μπορούν να επαληθεύσουν τα υπόλοιπα στο rollup υπολογίζοντας το hash των δεδομένων του λογαριασμού τους, στέλνοντας το hash στο συμβόλαιο rollup και παρέχοντας μια απόδειξη Merkle για επαλήθευση έναντι της τρέχουσας ρίζας κατάστασης. + +Η ανάληψη από ένα ZK-rollup σε L1 είναι απλή. Ο χρήστης ξεκινά τη συναλλαγή εξόδου στέλνοντας τα περιουσιακά του στοιχεία στο πακέτο ενημέρωσης σε έναν συγκεκριμένο λογαριασμό για κάψιμο. Εάν ο χειριστής συμπεριλάβει τη συναλλαγή στην επόμενη παρτίδα, ο χρήστης μπορεί να υποβάλει αίτηση ανάληψης στο συμβόλαιο στην αλυσίδα. Αυτή η αίτηση ανάληψης θα περιλαμβάνει τα εξής: + +- Απόδειξη Merkle που αποδεικνύει τη συμπερίληψη της συναλλαγής του χρήστη στον λογαριασμό καύσης σε μια παρτίδα συναλλαγών + +- Δεδομένα συναλλαγής + +- Batch root + +- Διεύθυνση L1 για τη λήψη κατατεθειμένων χρημάτων + +Το συμβόλαιο του rollup κάνει hash στα δεδομένα συναλλαγής, ελέγχει αν υπάρχει η ρίζα παρτίδας και χρησιμοποιεί την απόδειξη Merkle για να ελέγξει εάν το hash της συναλλαγής είναι μέρος της ρίζας παρτίδας. Στη συνέχεια, το συμβόλαιο εκτελεί τη συναλλαγή εξόδου και στέλνει κεφάλαια στη διεύθυνση που επέλεξε ο χρήστης στο L1. + +## ZK-rollup και συμβατότητα EVM {#zk-rollups-and-evm-compatibility} + +Σε αντίθεση με τα optimistic rollup, τα ZK-rollup δεν είναι άμεσα συμβατά με το [Εικονικό μηχάνημα του Ethereum (EVM)](/developers/docs/evm/). Η απόδειξη γενικής χρήσης υπολογισμού EVM σε κυκλώματα είναι πιο δύσκολη και απαιτεί περισσότερους πόρους από την απόδειξη απλών υπολογισμών (όπως η μεταφορά token που περιγράφηκε προηγουμένως). + +Ωστόσο, η [προόδος στην τεχνολογία μηδενικής γνώσης](https://hackmd.io/@yezhang/S1_KMMbGt#Why-possible-now) πυροδοτεί το ενδιαφέρον για τον υπολογισμό EVM σε αποδείξεις μηδενικής γνώσης. Αυτές οι προσπάθειες στοχεύουν στη δημιουργία μιας υλοποίησης zero-knowledge EVM (zkEVM) που μπορεί να επαληθεύσει αποτελεσματικά τη σωστή εκτέλεση του προγράμματος. Ένα zkEVM αναδημιουργεί τους υπάρχοντες κωδικούς λειτουργίας EVM για απόδειξη/επαλήθευση σε κυκλώματα, επιτρέποντας την εκτέλεση έξυπνων συμβολαίων. + +Όπως το EVM, ένα zkEVM μεταβαίνει μεταξύ καταστάσεων μετά την εκτέλεση υπολογισμών σε ορισμένες εισόδους. Η διαφορά είναι ότι το zkEVM δημιουργεί επίσης αποδείξεις μηδενικής γνώσης για να επαληθεύσει τη σωστή εκτέλεση κάθε βήματος στην εκτέλεση του προγράμματος. Οι αποδείξεις εγκυρότητας θα μπορούσαν να επαληθεύσουν τη σωστή εκτέλεση των λειτουργιών που επηρεάζουν την κατάσταση της VM (μνήμη, στοίβα, αποθήκευση) και τον ίδιο τον υπολογισμό (δηλαδή, κάλεσε η λειτουργία τους σωστούς opcode και τους εκτέλεσε σωστά;). + +Η εισαγωγή των συμβατών με EVM ZK-rollup αναμένεται να βοηθήσει τους προγραμματιστές να αξιοποιήσουν την επεκτασιμότητα και τις εγγυήσεις ασφάλειας των αποδείξεων μηδενικής γνώσης. Επιπλέον, η συμβατότητα με την εγγενή υποδομή Ethereum σημαίνει ότι οι προγραμματιστές μπορούν να δημιουργήσουν dapp φιλικές προς τη μηδενική γνώση χρησιμοποιώντας οικεία (και δοκιμασμένα) εργαλεία και γλώσσες. + +## Πώς λειτουργούν τα τέλη των ZK-rollup; {#how-do-zk-rollup-fees-work} + +Το ποσό που πληρώνουν οι χρήστες για συναλλαγές στα ZK-rollup εξαρτάται από τη χρέωση gas, όπως και στο Kεντρικό Δίκτυο του Ethereum. Ωστόσο, τα τέλη gas λειτουργούν διαφορετικά στο L2 και επηρεάζονται από τα ακόλουθα κόστη: + +1. **Εγγραφή Κατάστασης**: Υπάρχει ένα σταθερό κόστος για την εγγραφή στην κατάσταση του Ethereum (δηλαδή, την υποβολή μιας συναλλαγής στην αλυσίδα μπλοκ Ethereum). Τα ZK-rollups μειώνουν αυτό το κόστος με τις συγκεντρώσεις συναλλαγών και τη διανομή σταθερού κόστους σε πολλούς χρήστες. + +2. **Δημοσίευση Δεδομένων**: Τα ZK-rollup δημοσιεύουν δεδομένα κατάστασης για κάθε συναλλαγή στο Ethereum ως `calldata`. Τα κόστη `calldata` διέπονται επί του παρόντος από το [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), το οποίο ορίζει ένα κόστος ύψους 16 gas για μη μηδενικά byte και 4 gas για μηδενικά byte `calldata`, αντίστοιχα. Το κόστος που καταβάλλεται για κάθε συναλλαγή επηρεάζεται από το πόσα `calldata` πρέπει να δημοσιευθούν στην αλυσίδα γι' αυτό. + +3. **Αμοιβές χειριστή L2**: Αυτό είναι το ποσό που καταβάλλεται στον χειριστή του rollup ως αποζημίωση για τα υπολογιστικά κόστη που προκύπτουν από την επεξεργασία συναλλαγών, παρόμοια με τις [«αμοιβές προτεραιότητας (φιλοδωρήματα)» συναλλαγών](/developers/docs/gas/#how-are-gas-fees-calculated) στο Kεντρικό Δίκτυο του Ethereum. + +4. **Δημιουργία και επαλήθευση απόδειξης**: Οι χειριστές ZK-rollup πρέπει να παράγουν αποδείξεις εγκυρότητας για παρτίδες συναλλαγών, κάτι που απαιτεί πολλούς πόρους. Η επαλήθευση αποδείξεων μηδενικής γνώσης στο Mainnet κοστίζει επίσης gas (~ 500.000 gas). + +Εκτός από τις συγκεντρώσεις συναλλαγών, τα ZK-rollups μειώνουν τις αμοιβές για τους χρήστες με τη συμπίεση των δεδομένων συναλλαγών. Μπορείτε να [δείτε μια πραγματική εικόνα](https://l2fees.info/) του κόστους χρήσης των Ethereum ZK-rollups. + +## Πώς πετυχαίνουν τα ZK-rollup την επέκταση του Ethereum; {#scaling-ethereum-with-zk-rollups} + +### Συμπίεση δεδομένων συναλλαγών {#transaction-data-compression} + +Τα πακέτα ενημέρωσης ZK επεκτείνουν την απόδοση στο βασικό επίπεδο του Ethereum μεταφέροντας τον υπολογισμό εκτός αλυσίδας, αλλά η πραγματική ώθηση για την κλιμάκωση προέρχεται από τη συμπίεση δεδομένων συναλλαγών. Το [μέγεθος του μπλοκ](/developers/docs/blocks/#block-size) του Ethereum περιορίζει τα δεδομένα που μπορεί να περιέχει κάθε μπλοκ και, κατ' επέκταση, τον αριθμό των συναλλαγών που υποβάλλονται σε επεξεργασία ανά μπλοκ. Με τη συμπίεση δεδομένων που σχετίζονται με συναλλαγές, τα ZK-rollups αυξάνουν σημαντικά τον αριθμό των συναλλαγών που επεξεργάζονται ανά μπλοκ. + +Τα ZK-rollup μπορούν να συμπιέσουν τα δεδομένα συναλλαγών καλύτερα από τα optimistic rollup δεδομένου ότι δεν χρειάζεται να δημοσιεύουν όλα τα δεδομένα που απαιτούνται για την επικύρωση κάθε συναλλαγής. Πρέπει μόνο να δημοσιεύσουν τα ελάχιστα δεδομένα που απαιτούνται για την πιο πρόσφατη κατάσταση λογαριασμών και υπολοίπων στο rollup. + +### Αναδρομικές αποδείξεις {#recursive-proofs} + +Ένα πλεονέκτημα των αποδείξεων μηδενικής γνώσης είναι ότι οι αποδείξεις μπορούν να επαληθεύσουν άλλες αποδείξεις. Για παράδειγμα, ένα ενιαίο ZK-SNARK μπορεί να επαληθεύσει άλλα ZK-SNARKs. Τέτοιες «αποδείξεις αποδείξεων» ονομάζονται αναδρομικές αποδείξεις και αυξάνουν δραματικά την απόδοση των ZK-rollups. + +Επί του παρόντος, οι αποδείξεις εγκυρότητας δημιουργούνται βάσει μπλοκ και υποβάλλονται στο συμβόλαιο L1 για επαλήθευση. Ωστόσο, η επαλήθευση μεμονωμένων αποδείξεων μπλοκ περιορίζει την απόδοση που μπορούν να επιτύχουν τα ZK-rollup καθώς μόνο ένα μπλοκ μπορεί να οριστικοποιηθεί όταν ο χειριστής υποβάλει μια απόδειξη. + +Ωστόσο, οι αναδρομικές αποδείξεις καθιστούν δυνατή την ολοκλήρωση πολλών μπλοκ με μία απόδειξη εγκυρότητας. Αυτό συμβαίνει επειδή το κύκλωμα απόδειξης συγκεντρώνει αναδρομικά πολλές αποδείξεις μπλοκ έως ότου δημιουργηθεί μία τελική απόδειξη. Ο χειριστής L2 υποβάλλει αυτήν την αναδρομική απόδειξη και εάν το συμβόλαιο την αποδεχτεί, όλα τα σχετικά μπλοκ θα ολοκληρωθούν άμεσα. Με τις αναδρομικές αποδείξεις, αυξάνεται ο αριθμός των συναλλαγών ZK-rollup που μπορούν να ολοκληρωθούν στο Ethereum σε διαστήματα. + +### Πλεονεκτήματα και μειονεκτήματα των ZK-rollup {#zk-rollups-pros-and-cons} + +| Πλεονεκτήματα | Μειονεκτήματα | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Οι αποδείξεις εγκυρότητας εξασφαλίζουν τη σωστή εκτέλεση των εκτός αλυσίδας συναλλαγών και αποτρέπουν τους χειριστές από την εκτέλεση μη έγκυρων μεταβάσεων κατάστασης. | Το κόστος που σχετίζεται με τον υπολογισμό και την επαλήθευση των αποδείξεων εγκυρότητας είναι σημαντικό και μπορεί να αυξήσει τα τέλη για τους χρήστες του rollup. | +| Προσφέρει ταχύτερη οριστικοποίηση συναλλαγών καθώς οι ενημερώσεις κατάστασης εγκρίνονται μόλις επαληθευτούν οι αποδείξεις εγκυρότητας στο L1. | Η κατασκευή συμβατών με EVM ZK-rollups είναι δύσκολη λόγω της πολυπλοκότητας της τεχνολογίας μηδενικής γνώσης. | +| Βασίζεται σε μη αξιόπιστους κρυπτογραφικούς μηχανισμούς για την ασφάλεια, όχι στην ειλικρίνεια των κερδοσκοπικών παραγόντων όπως συμβαίνει με τα [optimistic rollup](/developers/docs/scaling/optimistic-rollups/#optimistic-pros-and-cons). | Η παραγωγή αποδείξεων εγκυρότητας απαιτεί εξειδικευμένο υλικό, το οποίο μπορεί να ενθαρρύνει τον κεντρικό έλεγχο της αλυσίδας από λίγα μέρη. | +| Αποθηκεύει τα δεδομένα που απαιτούνται για την ανάκτηση της εκτός αλυσίδας κατάστασης στο L1, το οποίο εγγυάται την ασφάλεια, την αντοχή στη λογοκρισία και την αποκέντρωση. | Οι κεντρικοποιημένοι χειριστές (sequencer) μπορούν να επηρεάσουν τη σειρά των συναλλαγών. | +| Οι χρήστες επωφελούνται από μεγαλύτερη κεφαλαιακή απόδοση και μπορούν να αποσύρουν κεφάλαια από το L2 χωρίς καθυστερήσεις. | Οι απαιτήσεις υλικού μπορούν να μειώσουν τον αριθμό των συμμετεχόντων που μπορούν να αναγκάσουν την αλυσίδα να προχωρήσει, αλλά αυξάνεται ο κίνδυνος κακόβουλοι χειριστές να παγώσουν την κατάσταση του rollup και να λογοκρίνουν τους χρήστες. | +| Δεν εξαρτάται από τις υποθέσεις επιβιωσιμότητας και οι χρήστες δε χρειάζεται να επικυρώσουν την αλυσίδα για να προστατεύσουν τα κεφάλαιά τους. | Ορισμένα συστήματα απόδειξης (π.χ., ZK-SNARK) απαιτούν μια αξιόπιστη ρύθμιση που, εάν γίνει αντικείμενο λανθασμένου χειρισμού, θα μπορούσε ενδεχομένως να θέσει σε κίνδυνο το μοντέλο ασφάλειας ενός ZK-rollup. | +| Η καλύτερη συμπίεση δεδομένων μπορεί να βοηθήσει στη μείωση του κόστους δημοσίευσης `calldata` στο Ethereum και στη μείωση των τελών rollup για τους χρήστες. | | + +### Μια οπτική επεξήγηση των ZK-rollup {#zk-video} + +Παρακολουθήστε το Finematics να εξηγεί τα ZK-rollup: + + + + +## Ποιος χτίζει ένα zkEVM; {#zkevm-projects} + +Τα έργα που χτίζουν zkEVM περιλαμβάνουν: + +- **[zkEVM](https://github.com/privacy-scaling-explorations/zkevm-specs)** - _Το zkEVM είναι ένα έργο που χρηματοδοτείται από το Ίδρυμα Ethereum για την ανάπτυξη ενός συμβατού με EVM ZK-rollup και ενός μηχανισμού για τη δημιουργία αποδείξεων εγκυρότητας για μπλοκ Ethereum._ + +- **[Polygon zkEVM](https://polygon.technology/solutions/polygon-zkevm)** - _ Το Polygon zkEVM είναι ένα αποκεντρωμένο ZK Rollup στο κύριο δίκτυο Ethereum που λειτουργεί σε μια μηχανή εικονικού Ethereum μηδενικής γνώσης (zkEVM) που εκτελεί συναλλαγές Ethereum με διαφανή τρόπο, συμπεριλαμβανομένων έξυπνων συμβολαίων με επικυρώσεις απόδειξης μηδενικής γνώσης._ + +- **[Scroll](https://scroll.io/blog/zkEVM)** - _Το Scroll είναι μια τεχνολογική εταιρεία που εργάζεται για την κατασκευή μιας εγγενούς λύσης zkEVM Επιπέδου 2 για το Ethereum._ + +- **[Taiko](https://taiko.xyz)** - _Το Taiko είναι ένα αποκεντρωμένο, ισοδύναμο με Ethereum ZK-rollup (ένα [ZK-EVM Τύπου 1](https://vitalik.eth.limo/general/2022/08/04/zkevm.html))._ + +- **[ZKsync](https://docs.zksync.io/)** - _Το ZKsync Era είναι ένα συμβατό με EVM ZK Rollup που κατασκευάστηκε από τη Matter Labs, με τη χρήση του δικού της zkEVM._ + +- **[Starknet](https://starkware.co/starknet/)** - _Το StarkNet είναι μια συμβατή με EVM λύση κλιμάκωσης επιπέδου 2 που κατασκευάστηκε από τη StarkWare._ + +- **[Morph](https://www.morphl2.io/)** - _Το Morph είναι μια υβριδική λύση κλιμάκωσης rollup που χρησιμοποιεί απόδειξη μηδενικής γνώσης για να αντιμετωπίσει το ζήτημα της αμφισβήτησης κατάστασης στο Επίπεδο 2._ + +## Περαιτέρω υλικό ανάγνωσης σχετικά με τα ZK-rollup {#further-reading-on-zk-rollups} + +- [Τι είναι τα Zero-Knowledge Rollup;](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups) +- [Τι είναι τα zero-knowledge rollup;](https://alchemy.com/blog/zero-knowledge-rollups) +- [Πρακτικός οδηγός για τα πακέτα ενημέρωσης Ethereum](https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) +- [STARKs ή SNARKs](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/) +- [Τι είναι το zkEVM;](https://www.alchemy.com/overviews/zkevm) +- [Τύποι ZK-EVM: Ισοδύναμο Ethereum, EVM, τύπος 1, τύπος 4 και άλλες κρυπτογραφικές λέξεις](https://taiko.mirror.xyz/j6KgY8zbGTlTnHRFGW6ZLVPuT0IV0_KmgowgStpA0K4) +- [Εισαγωγή στο zkEVM](https://hackmd.io/@yezhang/S1_KMMbGt) +- [Τι είναι τα ZK-EVM L2;](https://linea.mirror.xyz/qD18IaQ4BROn_Y40EBMTUTdJHYghUtdECscSWyMvm8M) +- [Μοναδικοί πόροι zkEVM](https://github.com/LuozhuZhang/awesome-zkevm) +- [Λεπτομερείς εξήγηση του ZK-SNARKS](https://vitalik.eth.limo/general/2017/02/01/zk_snarks.html) +- [Πώς είναι δυνατή η δημιουργία ZK-SNARK;](https://vitalik.eth.limo/general/2021/01/26/snarks.html) 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 index fdcb1a5b8fc..8e51d7f8193 100644 --- 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 @@ -50,15 +50,15 @@ lang: el ### Προδιαγραφές υψηλού επιπέδου {#high-level-specifications} -Όπως υποδηλώνει το όνομα, μια προδιαγραφή υψηλού επιπέδου (που ονομάζεται επίσης "προδιαγραφή προσανατολισμένη στο μοντέλο") περιγράφει τη συμπεριφορά υψηλού επιπέδου ενός προγράμματος. Οι προδιαγραφές υψηλού επιπέδου μοντελοποιούν ένα έξυπνο συμβόλαιο ως μια [πεπερασμένη κατάσταση μηχανής](https://en.wikipedia.org/wiki/Finite-state_machine) (FSM), η οποία μπορεί να μεταβεί μεταξύ καταστάσεων εκτελώντας λειτουργίες, με τη χρονική λογική να χρησιμοποιείται για τον ορισμό τυπικών ιδιοτήτων για το μοντέλο FSM. +Όπως υποδηλώνει το όνομα, μια προδιαγραφή υψηλού επιπέδου (που ονομάζεται επίσης «προδιαγραφή προσανατολισμένη στο μοντέλο») περιγράφει τη συμπεριφορά υψηλού επιπέδου ενός προγράμματος. Οι προδιαγραφές υψηλού επιπέδου μοντελοποιούν ένα έξυπνο συμβόλαιο ως μια [πεπερασμένη κατάσταση μηχανής](https://en.wikipedia.org/wiki/Finite-state_machine) (FSM), η οποία μπορεί να μεταβεί μεταξύ καταστάσεων εκτελώντας λειτουργίες, με τη χρονική λογική να χρησιμοποιείται για τον ορισμό τυπικών ιδιοτήτων για το μοντέλο FSM. -Οι [χρονικές λογικές](https://en.wikipedia.org/wiki/Temporal_logic) είναι "κανόνες για τον συλλογισμό σχετικά με προτάσεις που προσδιορίζονται ως προς το χρόνο (π.χ. '_Πάντα_ πεινάω' ή '_Τελικά_ θα πεινάσω')." Όταν εφαρμόζονται στην τυπική επαλήθευση, οι χρονικές λογικές χρησιμοποιούνται για να δηλώσουν ισχυρισμούς σχετικά με τη σωστή συμπεριφορά συστημάτων που μοντελοποιούνται ως μηχανές κατάστασης. Ειδικότερα, μια χρονική λογική περιγράφει τις μελλοντικές καταστάσεις στις οποίες μπορεί να βρίσκεται ένα έξυπνο συμβόλαιο και πώς μεταβαίνει μεταξύ των καταστάσεων. +Οι [χρονικές λογικές](https://en.wikipedia.org/wiki/Temporal_logic) είναι «κανόνες για τον συλλογισμό σχετικά με προτάσεις που προσδιορίζονται ως προς το χρόνο (π.χ. «_Πάντα_ πεινάω» ή «_Τελικά_ θα πεινάσω»).» Όταν εφαρμόζονται στην τυπική επαλήθευση, οι χρονικές λογικές χρησιμοποιούνται για να δηλώσουν ισχυρισμούς σχετικά με τη σωστή συμπεριφορά συστημάτων που μοντελοποιούνται ως μηχανές κατάστασης. Ειδικότερα, μια χρονική λογική περιγράφει τις μελλοντικές καταστάσεις στις οποίες μπορεί να βρίσκεται ένα έξυπνο συμβόλαιο και πώς μεταβαίνει μεταξύ των καταστάσεων. Οι προδιαγραφές υψηλού επιπέδου γενικά καταγράφουν δύο κρίσιμες χρονικές ιδιότητες για τα έξυπνα συμβόλαια: **ασφάλεια** και **ζωντάνια**. Οι ιδιότητες ασφάλειας αντιπροσωπεύουν την ιδέα ότι «τίποτα κακό δε συμβαίνει ποτέ» και συνήθως εκφράζουν αμετάβλητες καταστάσεις. Μια ιδιότητα ασφάλειας μπορεί να ορίζει γενικές απαιτήσεις λογισμικού, όπως την αποφυγή [αδιεξόδου](https://www.techtarget.com/whatis/definition/deadlock) ή να εκφράζει συγκεκριμένες ιδιότητες για συμβόλαια (π.χ. αμετάβλητα στοιχεία για τον έλεγχο πρόσβασης σε συναρτήσεις, επιτρεπτές τιμές μεταβλητών κατάστασης ή συνθήκες για μεταφορές κρυπτοπαραστατικών). -Πάρτε για παράδειγμα αυτή την απαίτηση ασφάλειας που καλύπτει τις συνθήκες για τη χρήση των `transfer()` ή `transferFrom()` σε συμβάσεις κρυπτοπαραστατικών ERC-20: "_Το υπόλοιπο ενός αποστολέα δεν είναι ποτέ χαμηλότερο από το ζητούμενο ποσό κρυπτοπαραστατικών που πρόκειται να σταλεί_". Αυτή η περιγραφή φυσικής γλώσσας ενός αμετάβλητου στοιχείου συμβολαίου μπορεί να μεταφραστεί σε μια επίσημη (μαθηματική) προδιαγραφή, η εγκυρότητα της οποίας μπορεί στη συνέχεια να ελεγχθεί αυστηρά. +Πάρτε για παράδειγμα αυτή την απαίτηση ασφάλειας που καλύπτει τις συνθήκες για τη χρήση των `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). +Οι ιδιότητες ζωντάνιας διαβεβαιώνουν ότι «συμβαίνει κάτι που τελικά είναι καλό» και αφορούν την ικανότητα ενός συμβολαίου να σημειώνει πρόοδο μέσα από διαφορετικές καταστάσεις. Ένα παράδειγμα μιας ιδιότητας ζωντάνιας είναι η «ρευστότητα», που αναφέρεται στην ικανότητα ενός συμβολαίου να μεταφέρει τα υπόλοιπά του στους χρήστες κατόπιν αιτήματος. Εάν αυτή η ιδιότητα παραβιαστεί, οι χρήστες δε θα μπορούν να αποσύρουν περιουσιακά στοιχεία που αποθηκεύονται στο συμβόλαιο, όπως συνέβη με το [περιστατικό του πορτοφολιού Parity](https://www.cnbc.com/2017/11/08/accidental-bug-may-have-frozen-280-worth-of-ether-on-parity-wallet.html). ### Προδιαγραφές χαμηλού επιπέδου {#low-level-specifications} @@ -70,7 +70,7 @@ lang: el ### Ιδιότητες τύπου Hoare {#hoare-style-properties} -Η [λογική Hoare](https://en.wikipedia.org/wiki/Hoare_logic) παρέχει ένα σύνολο τυπικών κανόνων για τον συλλογισμό σχετικά με τη σωστή λειτουργία των προγραμμάτων, συμπεριλαμβανομένων των έξυπνων συμβολαίων. Μια ιδιότητα τύπου Hoare αντιπροσωπεύεται από ένα τριπλό Hoare `{P}c{Q}`, όπου το `c` είναι ένα πρόγραμμα και τα `P` και `Q` είναι προτάσεις για την κατάσταση του `c` (δηλαδή, του προγράμματος), που περιγράφονται επίσημα ως `προϋποθέσεις` και `μετα-συνθήκες`, αντίστοιχα. +Η [λογική Hoare](https://en.wikipedia.org/wiki/Hoare_logic) παρέχει ένα σύνολο τυπικών κανόνων για τον συλλογισμό σχετικά με τη σωστή λειτουργία των προγραμμάτων, συμπεριλαμβανομένων των έξυπνων συμβολαίων. Μια ιδιότητα τύπου Hoare αντιπροσωπεύεται από ένα τριπλό Hoare `{P}c{Q}`, όπου το `c` είναι ένα πρόγραμμα και τα `P` και `Q` είναι προτάσεις για την κατάσταση του `c` (δηλαδή, του προγράμματος), που περιγράφονται επίσημα ως _προϋποθέσεις_ και _μετα-συνθήκες_, αντίστοιχα. Μια προϋπόθεση είναι μια πρόταση που περιγράφει τις συνθήκες που απαιτούνται για τη σωστή εκτέλεση μιας συνάρτησης. Οι χρήστες που καλούν το συμβόλαιο πρέπει να ικανοποιούν αυτήν την απαίτηση. Μια μετα-συνθήκη είναι μια πρόταση που περιγράφει την κατάσταση που καθορίζει μια συνάρτηση εάν εκτελεστεί σωστά. Οι χρήστες μπορούν να αναμένουν ότι αυτή η συνθήκη θα είναι αληθής μετά την κλήση της συνάρτησης. Ένα _αμετάβλητο στοιχείο_ στη λογική Hoare είναι μια πρόταση που διατηρείται με εκτέλεση συνάρτησης (δηλαδή, δεν αλλάζει). @@ -162,7 +162,7 @@ function safe_add(uint x, uint y) returns(uint z){ Η τυπική επαλήθευση χρησιμοποιείται για να αξιολογήσει τη σωστή λειτουργία κρίσιμων συστημάτων, των οποίων η αποτυχία μπορεί να έχει καταστροφικές συνέπειες, όπως θάνατο, τραυματισμό ή οικονομική καταστροφή. Τα έξυπνα συμβόλαια είναι εφαρμογές υψηλής αξίας που ελέγχουν τεράστιες ποσότητες αξίας και απλά λάθη στον σχεδιασμό μπορούν να οδηγήσουν σε [μη αναστρέψιμες απώλειες για τους χρήστες](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, οι οποίες μπορούν να ξεφύγουν από ελεγκτές και δοκιμαστές. +Η αξιοπιστία είναι μια ιδιαίτερα επιθυμητή ποιότητα σε οποιοδήποτε έξυπνο συμβόλαιο, ειδικά επειδή ο κώδικας που αναπτύσσεται στο εικονικό μηχάνημα του Ethereum (EVM) είναι συνήθως αμετάβλητος. Με τις αναβαθμίσεις μετά την κυκλοφορία να μην είναι εύκολα προσβάσιμες, η ανάγκη εγγύησης της αξιοπιστίας των συμβολαίων καθιστά απαραίτητη την τυπική επαλήθευση. Η τυπική επαλήθευση είναι σε θέση να εντοπίσει δύσκολα προβλήματα, όπως υποχείλιση και υπερχείλιση ακεραίων, επανεισδοχή και κακές βελτιστοποιήσεις gas, οι οποίες μπορεί να ξεφύγουν από ελεγκτές και δοκιμαστές. #### Απόδειξη λειτουργικής ορθότητας {#prove-functional-correctness} diff --git a/public/content/translations/el/developers/docs/standards/index.md b/public/content/translations/el/developers/docs/standards/index.md new file mode 100644 index 00000000000..48a6d49330e --- /dev/null +++ b/public/content/translations/el/developers/docs/standards/index.md @@ -0,0 +1,59 @@ +--- +title: Πρότυπα ανάπτυξης Ethereum +description: +lang: el +incomplete: true +--- + +## Επισκόπηση προτύπων {#standards-overview} + +Η κοινότητα του Ethereum έχει υιοθετήσει πολλά πρότυπα που βοηθούν στη διατήρηση της διαλειτουργικότητας μεταξύ των έργων (όπως οι εφαρμογές [πελάτη του Ethereum](/developers/docs/nodes-and-clients/) και των πορτοφολιών) και να διασφαλιστεί η πολυπλοκότητα των έξυπνων συμβολαίων και των dapps. + +Συνήθως τα πρότυπα εισάγονται ως [προτάσεις βελτίωσης του Ethereum](/eips/) (EIPs), οι οποίες συζητούνται από τα μέλη της κοινότητας μέσω μιας [τυπικής διαδικασίας](https://eips.ethereum.org/EIPS/eip-1). + +- [Εισαγωγή στα EIP](/eips/) +- [Λίστα EIPs](https://eips.ethereum.org/) +- [Αποθετήριο EIP GitHub](https://github.com/ethereum/EIPs) +- [Φόρουμ συζητήσεων EIP](https://ethereum-magicians.org/c/eips) +- [Εισαγωγή στη διακυβέρνηση του Ethereum](/governance/) +- [Επισκόπηση διακυβέρνησης Ethereum](https://web.archive.org/web/20201107234050/https://blog.bmannconsulting.com/ethereum-governance/) _31 Μαρτίου 2019 - Boris Mann_ +- [Συντονισμός Αναπτυξιακής Διακυβέρνησης Πρωτοκόλλου του Ethereum](https://hudsonjameson.com/2020-03-23-ethereum-protocol-development-governance-and-network-upgrade-coordination/) _23 Μαρτίου 2020 - Hudson Jameson_ +- [Λίστα αναπαραγωγής συναντήσεων των Ethereum Core Dev](https://www.youtube.com/@EthereumProtocol) _(Λίστα στο YouTube)_ + +## Τύποι προτύπων {#types-of-standards} + +Υπάρχουν τρεις διαφορετικοί τύποι EIP: + +- Τμήμα προτύπων: περιγράφει κάθε αλλαγή που επηρεάζει τις περισσότερες ή όλες τις υλοποιήσεις του Ethereum. +- [Meta τμήμα](https://eips.ethereum.org/meta): περιγράφει μια διαδικασία γύρω από το Ethereum ή προτείνει μια αλλαγή σε μια διαδικασία. +- [Ενημερωτικό τμήμα](https://eips.ethereum.org/informational): περιγράφει ένα ζήτημα σχεδιασμού του Ethereum ή παρέχει γενικές οδηγίες ή πληροφορίες στην κοινότητα του Ethereum. + +Επιπλέον, το Τμήμα Προτύπων υποδιαιρείται σε 4 κατηγορίες: + +- [Πυρήνας](https://eips.ethereum.org/core): βελτιώσεις που απαιτούν συναίνεση για αναβαθμίσεις. +- [Δικτύωση](https://eips.ethereum.org/networking): βελτιώσεις γύρω από το υπο-πρωτόκολλο devp2p και Light του Ethereum, καθώς και προτεινόμενες βελτιώσεις στις προδιαγραφές πρωτοκόλλου δικτύου των «whisper» και «swarm». +- [Διεπαφή](https://eips.ethereum.org/interface): βελτιώσεις σχετικά με τις προδιαγραφές και τα πρότυπα της εφαρμογής πελάτη API/RPC και ορισμένα πρότυπα γλωσσικού επιπέδου, όπως ονόματα μεθόδων και συμβόλαια ABI. +- [ΕΣΕ](https://eips.ethereum.org/erc): πρότυπα επιπέδων εφαρμογής και συμβάσεις + +Περισσότερες πληροφορίες σχετικά με τους διαφορετικούς τύπους και κατηγορίες μπορούν να βρεθούν στο [EIP-1](https://eips.ethereum.org/EIPS/eip-1#eip-types) + +### Πρότυπα token {#token-standards} + +- [ERC-20](/developers/docs/standards/tokens/erc-20/) - Ένα πρότυπο διεπαφής για εναλλάξιμα (ανταλλάξιμα) ψηφιακά στοιχεία, όπως κρύπτο ψηφοφορίας, αποθήκευσης κεφαλαίου ή εικονικά νομίσματα. + - [ERC-223](/developers/docs/standards/tokens/erc-223/) - Ένα πρότυπο εναλλάξιμων κρυπτοπαραστατικών που κάνει τα κρύπτο να συμπεριφέρονται πανομοιότυπα με το ether, υποστηρίζoντας τον χειρισμό μεταφορών κρύπτο από την πλευρά του παραλήπτη. + - [ERC-1363](https://eips.ethereum.org/EIPS/eip-1363) - Καθορίζει μια διεπαφή κρυπτονομίσματος ERC-20 που υποστηρίζει την εκτέλεση κωδικού παραλήπτη μετά τη μεταφορά ή μεταφορά από, ή τον κωδικό δαπάνης μετά την έγκριση. +- [ERC-721](/developers/docs/standards/tokens/erc-721/) - Μια τυπική διεπαφή για μη εναλλάξιμα κρυπτοπαραστατικά, όπως μια πράξη για έργα τέχνης ή ένα τραγούδι. + - [ERC-2309](https://eips.ethereum.org/EIPS/eip-2309) - Ένα τυποποιημένο γεγονός που εκπέμπεται κατά τη δημιουργία/μεταφορά ενός ή πολλών μη εναλλάξιμων κρυπτονομισμάτων με τη χρήση διαδοχικών αναγνωριστικών κρυπτονομισμάτων. + - [ERC-4400](https://eips.ethereum.org/EIPS/eip-4400) - Επέκταση για τη διεπαφή για καταναλωτικό ρόλο EIP-721. + - [ERC-4907](https://eips.ethereum.org/EIPS/eip-4907) - Προσθήκη ενός ρόλου περιορισμένου χρόνου με ορισμένα δικαιώματα για κρυπτονομίσματα ERC-721. +- [ERC-777](/developers/docs/standards/tokens/erc-777/) - **(ΔΕΝ ΠΡΟΤΕΙΝΕΤΑΙ)** Ένα πρότυπο κρυπτονομίσματος βελτιώνοντας το ERC-20. +- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - Ένα πρότυπο κρυπτονομίσματος που μπορεί να περιέχει τόσο εναλλάξιμα όσο και μη εναλλάξιμα κρυπτοπαραστατικά. +- [ERC-4626](/developers/docs/standards/tokens/erc-4626/) - Ένα πρότυπο θησαυροφυλάκιο με κρύπτο σχεδιασμένο για τη βελτιστοποίηση και την ενοποίηση των τεχνικών παραμέτρων των θησαυροφυλακίων που φέρουν απόδοση. + +Μάθετε περισσότερα σχετικά με [πρότυπα κρυπτονομισμάτων](/developers/docs/standards/tokens/). + +## Περισσότερες πληροφορίες {#further-reading} + +- [Προτάσεις Βελτίωσης του Ethereum (EIP)](/eips/) + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-1155/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-1155/index.md new file mode 100644 index 00000000000..e7dc7c7875a --- /dev/null +++ b/public/content/translations/el/developers/docs/standards/tokens/erc-1155/index.md @@ -0,0 +1,146 @@ +--- +title: ERC-1155 Πρότυπο Πολλαπλών Ψηφιακών Στοιχείων +description: +lang: el +--- + +## Εισαγωγή {#introduction} + +Μια τυπική διεπαφή για συμβόλαια που διαχειρίζονται πολλούς τύπους κρυπτονομισμάτων. Ένα απλό συμβόλαιο που έχει αναπτυχθεί μπορεί να περιλαμβάνει κάθε συνδυασμό εναλλάξιμων κρυπτοπαραστατικών, μη εναλλάξιμων κρυπτοπαραστατικών ή άλλων παραμέτρων (π.χ. ημι-εναλλάξιμα κρυπτοπαραστατικά). + +**Τι εννοούμε με το πρότυπο πολλαπλών στοιχείων;** + +Η ιδέα είναι απλή και επιδιώκει να δημιουργήσει μια διεπαφή έξυπνου συμβολαίου που μπορεί να αντιπροσωπεύει και να ελέγχει οποιοδήποτε αριθμό τύπων εναλλάξιμων και μη εναλλάξιμων ψηφιακών στοιχείων. Με αυτόν τον τρόπο, ένα ψηφιακό στοιχείο ERC-1155 μπορεί να έχει τις ίδιες λειτουργίες με ένα ψηφιακό στοιχείο [ERC-20](/developers/docs/standards/tokens/erc-20/) και [ERC-721](/developers/docs/standards/tokens/erc-721/) ή ακόμη και τα δύο ταυτόχρονα. Βελτιώνει τη λειτουργικότητα τόσο του προτύπου ERC-20 όσο και του ERC-721, καθιστώντας το πιο αποτελεσματικό και διορθώνοντας προφανή σφάλματα υλοποίησης. + +Το ψηφιακό στοιχείο ERC-1155 περιγράφεται πλήρως στο [EIP-1155](https://eips.ethereum.org/EIPS/eip-1155). + +## Προαπαιτούμενα {#prerequisites} + +Για να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε να διαβάσετε πρώτα για τα [πρότυπα ψηφιακών στοιχείων](/developers/docs/standards/tokens/) [ERC-20](/developers/docs/standards/tokens/erc-20/) και [ERC-721](/developers/docs/standards/tokens/erc-721/). + +## Λειτουργίες και Χαρακτηριστικά ERC-1155: {#body} + +- [Μεταφορά παρτίδας](#batch_transfers): Μεταφορά πολλών περιουσιακών στοιχείων με μία μόνο κλήση. +- [Υπόλοιπο παρτίδας](#batch_balance): Λήψη των υπολοίπων πολλών περιουσιακών στοιχείων με μία μόνο κλήση. +- [Έγκριση παρτίδας](#batch_approval): Έγκριση όλων των ψηφιακών στοιχείων σε μια διεύθυνση. +- [Hooks](#receive_hook): Λήψη token hook. +- [Υποστήριξη NFT](#nft_support): Εάν η προσφορά είναι μόνο 1, αντιμετωπίστε την ως NFT. +- [Κανόνες ασφαλούς μεταφοράς](#safe_transfer_rule): Σύνολο κανόνων για ασφαλή μεταφορά. + +### Μεταφορές παρτίδας {#batch-transfers} + +Η μεταφορά παρτίδας λειτουργεί πολύ παρόμοια με τις κανονικές μεταφορές ERC-20. Ας δούμε τη συνάρτηση `transferFrom` ERC-20: + +```solidity +// ERC-20 +function transferFrom(address from, address to, uint256 value) external returns (bool); + +// ERC-1155 +function safeBatchTransferFrom( + address _from, + address _to, + uint256[] calldata _ids, + uint256[] calldata _values, + bytes calldata _data +) external; +``` + +Η μόνη διαφορά στο ERC-1155 είναι ότι περνάμε τις τιμές ως μια σειρά και περνάμε επίσης μια σειρά από αναγνωριστικά. Για παράδειγμα, `ids= [3, 6, 13]` και των `values= [100, 200, 5]`, οι προκύπτουσες μεταφορές θα είναι + +1. Μεταφορά 100 ψηφιακών στοιχείων με id 3 από `_from` σε `_to`. +2. Μεταφορά 200 ψηφιακών στοιχείων με id 6 από `_from` σε `_to`. +3. Μεταφορά 5 ψηφιακών στοιχείων με id 13 από `_from` σε `_to`. + +Στο ERC-1155 υπάρχει μόνο `transferFrom`, και όχι `transfer`. Για να το χρησιμοποιήσετε σαν ένα κανονικό `transfer`, απλά ορίστε το στη διεύθυνση "από" στη διεύθυνση που ζητά τη συνάρτηση. + +### Υπόλοιπο παρτίδας {#batch-balance} + +Η αντίστοιχη κλήση `balanceOf` του ERC-20 έχει επίσης τη συνάρτηση συνεργάτη της με υποστήριξη παρτίδας. Ως υπενθύμιση, αυτή είναι η έκδοση ERC-20: + +```solidity +// ERC-20 +function balanceOf(address owner) external view returns (uint256); + +// ERC-1155 +function balanceOfBatch( + address[] calldata _owners, + uint256[] calldata _ids +) external view returns (uint256[] memory); +``` + +Ακόμη απλούστερη για την κλήση ισοζυγίου, μπορούμε να ανακτήσουμε πολλαπλά ισοζύγια σε μια ενιαία κλήση. Περνάμε τη σειρά των κατόχων, ακολουθούμενη από τη σειρά των αναγνωριστικών token. + +Για παράδειγμα, το `_ids=[3, 6, 13]` και `_owners=[0xbeef..., 0x1337..., 0x1111...]`, η τιμή του αποτελέσματος θα είναι + +```solidity +[ + balanceOf(0xbeef...), + balanceOf(0x1337...), + balanceOf(0x1111...) +] +``` + +### Έγκριση παρτίδας {#batch-approval} + +```solidity +// ERC-1155 +function setApprovalForAll( + address _operator, + bool _approved +) external; + +function isApprovedForAll( + address _owner, + address _operator +) external view returns (bool); +``` + +Οι εγκρίσεις είναι ελαφρώς διαφορετικές από το ERC-20. Αντί να εγκρίνετε συγκεκριμένα ποσά, ορίζετε έναν χειριστή ως εγκεκριμένο ή μη εγκεκριμένο μέσω του `setApprovalForAll`. + +Η ανάγνωση της τρέχουσας κατάστασης μπορεί να γίνει μέσω του `isApprovedForAll`. Όπως μπορείτε να δείτε, είναι μια λειτουργία όλα ή τίποτα. Δεν μπορείτε να ορίσετε πόσα ψηφιακά στοιχεία θα εγκρίνετε ή καν ποια κατηγορία ψηφιακού στοιχείου αφορά. + +Αυτό έχει σχεδιαστεί σκόπιμα με γνώμονα την απλότητα. Μπορείτε να τα εγκρίνετε όλα για μία διεύθυνση. + +### Receive Hook {#receive-hook} + +```solidity +function onERC1155BatchReceived( + address _operator, + address _from, + uint256[] calldata _ids, + uint256[] calldata _values, + bytes calldata _data +) external returns(bytes4); +``` + +Δεδομένης της υποστήριξης [EIP-165](https://eips.ethereum.org/EIPS/eip-165), το ERC-1155 υποστηρίζει τα hooks λήψης μόνο για έξυπνα συμβόλαια. Η συνάρτηση hook πρέπει να επιστρέφει μια μαγική προκαθορισμένη τιμή bytes4 που δίνεται ως: + +```solidity +bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)")) +``` + +Όταν το συμβαλλόμενο μέρος που λαμβάνει επιστρέφει αυτήν την τιμή, υποτίθεται ότι το συμβαλλόμενο μέρος αποδέχεται τη μεταφορά και γνωρίζει πώς να χειρίζεται τα token ERC-1155. Ωραία, τέλος τα κολλημένα token σε ένα συμβόλαιο! + +### Υποστήριξη NFT {#nft-support} + +Όταν η προσφορά είναι μόνο μία, το token είναι ουσιαστικά ένα μη εναλλάξιμο token (NFT). Και όπως είναι τυπικό για το ERC-721, μπορείτε να ορίσετε μια διεύθυνση URL μεταδεδομένων. Η διεύθυνση URL μπορεί να διαβαστεί και να τροποποιηθεί από τους πελάτες, δείτε [εδώ](https://eips.ethereum.org/EIPS/eip-1155#metadata). + +### Κανόνας Ασφαλούς Μεταφοράς {#safe-transfer-rule} + +Έχουμε ήδη αναφερθεί σε μερικούς κανόνες ασφαλούς μεταφοράς στις προηγούμενες εξηγήσεις. Αλλά ας δούμε τους πιο σημαντικούς από τους κανόνες: + +1. Ο αποστολέας πρέπει να έχει εγκριθεί για να ξοδέψει τα ψηφιακά στοιχεία για τη διεύθυνση `_from` ή ο αποστολέας πρέπει να ισούται με `_from`. +2. Η κλήση μεταφοράς πρέπει να αναστρέφεται εάν + 1. `_to` η διεύθυνση είναι 0. + 2. Το μήκος του `_ids` δεν είναι ίδιο με το μήκος του `_values`. + 3. Οποιοδήποτε από τα υπόλοιπα του κατόχου ή των κατόχων για το ή τα token στο `_ids` είναι χαμηλότερο από τα αντίστοιχα ποσά στο `_values` που αποστέλλονται στον παραλήπτη. + 4. Προκύπτει οποιοδήποτε άλλο σφάλμα. + +_Σημείωση_: Όλες οι συναρτήσεις παρτίδας συμπεριλαμβανομένης του hook υπάρχουν επίσης ως εκδόσεις χωρίς παρτίδα. Αυτό γίνεται για απόδοση gas, λαμβάνοντας υπόψη ότι η μεταφορά μόνο ενός περιουσιακού στοιχείου θα είναι πιθανώς ο πιο συχνά χρησιμοποιούμενος τρόπος. Τα παραλείψαμε για απλότητα στις εξηγήσεις, συμπεριλαμβανομένων των κανόνων ασφαλούς μεταφοράς. Τα ονόματα είναι ίδια, απλώς αφαιρέστε το 'Batch'. + +## Περισσότερες πληροφορίες {#further-reading} + +- [EIP-1155: Πρότυπα Πολλαπλών Ψηφιακών Στοιχείων](https://eips.ethereum.org/EIPS/eip-1155) +- [ERC-1155: Τεκμηρίωση Openzeppelin](https://docs.openzeppelin.com/contracts/5.x/erc1155) +- [ERC-1155: Αποθετήριο GitHub](https://github.com/enjin/erc-1155) +- [Alchemy NFT API](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api) diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-20/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-20/index.md new file mode 100644 index 00000000000..1aa377ac472 --- /dev/null +++ b/public/content/translations/el/developers/docs/standards/tokens/erc-20/index.md @@ -0,0 +1,172 @@ +--- +title: Πρότυπο Ψηφιακού Στοιχείου ERC-20 +description: +lang: el +--- + +## Εισαγωγή {#introduction} + +**Τι είναι ένα Ψηφιακό Στοιχείο;** + +Τα Ψηφιακά Στοιχεία μπορούν να αντιπροσωπεύουν σχεδόν τα πάντα στο Ethereum: + +- πόντους φήμης σε μια πλατφόρμα στο διαδίκτυο +- ικανότητες του χαρακτήρα σε ένα παιχνίδι +- χρηματοοικονομικά στοιχεία όπως μετοχές εταιρείας +- ένα νόμισμα όπως το USD +- μια ουγγιά χρυσού +- και πολλά άλλα... + +Ένα τόσο ισχυρό χαρακτηριστικό του Ethereum πρέπει να χειρίζεται από ένα ισχυρό πρότυπο; Αυτό είναι ακριβώς όπου το ERC-20 παίζει το ρόλο του! Αυτό το πρότυπο επιτρέπει στους προγραμματιστές να δημιουργούν εφαρμογές ψηφιακών στοιχείων που είναι διαλειτουργικές με άλλα προϊόντα και υπηρεσίες. Το πρότυπο ERC-20 χρησιμοποιείται επίσης για την παροχή πρόσθετης λειτουργικότητας στο [ether](/glossary/#ether). + +**Τι είναι το ERC-20;** + +Το ERC-20 εισάγει ένα πρότυπο για ανταλλάξιμα ψηφιακά στοιχεία, με άλλα λόγια, έχουν μια ιδιότητα που κάνει κάθε ψηφιακό στοιχείο να είναι ακριβώς το ίδιο (σε τύπο και αξία) με ένα άλλο. Για παράδειγμα, ένα ψηφιακό στοιχείο ERC-20 λειτουργεί ακριβώς όπως το ETH, που σημαίνει ότι 1 ψηφιακό στοιχείο ισούται και θα ισούται πάντα με όλα τα άλλα. + +## Προαπαιτούμενα {#prerequisites} + +- [Λογαριασμοί](/developers/docs/accounts) +- [Έξυπνα Συμβόλαια](/developers/docs/smart-contracts/) +- [Πρότυπα ψηφιακού στοιχείου](/developers/docs/standards/tokens/) + +## Κορμός {#body} + +Το ERC-20 (Ethereum Request for Comments 20), που προτάθηκε από τον Fabian Vogelsteller τον Νοέμβριο του 2015, είναι ένα πρότυπο ψηφιακού στοιχείου που υλοποιεί ένα API για ψηφιακά στοιχεία εντός έξυπνων συμβολαίων. + +Παραδείγματα λειτουργιών που παρέχει το ERC-20: + +- μεταφορά token από έναν λογαριασμό σε έναν άλλο +- λήψη του τρέχοντος υπολοίπου token ενός λογαριασμού +- Λήψη συνολικού κεφαλαίου του ψηφιακού στοιχείου που είναι διαθέσιμο στο δίκτυο +- Έγκριση εάν ένα ποσό ψηφιακού στοιχείου ενός λογαριασμού μπορεί να δαπανηθεί από έναν τρίτο λογαριασμό + +Εάν ένα έξυπνο συμβόλαιο εφαρμόζει τις ακόλουθες μεθόδους και συμβάντα μπορεί να ονομαστεί συμβόλαιο ψηφιακού στοιχείου ERC-20 και, όταν αναπτυχθεί, θα είναι υπεύθυνο για την παρακολούθηση των ψηφιακών στοιχείων που θα δημιουργηθούν στο Ethereum. + +Από το [EIP-20](https://eips.ethereum.org/EIPS/eip-20): + +### Μέθοδοι {#methods} + +```solidity +function name() public view returns (string) +function symbol() public view returns (string) +function decimals() public view returns (uint8) +function totalSupply() public view returns (uint256) +function balanceOf(address _owner) public view returns (uint256 balance) +function transfer(address _to, uint256 _value) public returns (bool success) +function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) +function approve(address _spender, uint256 _value) public returns (bool success) +function allowance(address _owner, address _spender) public view returns (uint256 remaining) +``` + +### Συμβάντα {#events} + +```solidity +event Transfer(address indexed _from, address indexed _to, uint256 _value) +event Approval(address indexed _owner, address indexed _spender, uint256 _value) +``` + +### Παραδείγματα {#web3py-example} + +Ας δούμε πώς ένα πρότυπο είναι τόσο σημαντικό για να μας διευκολύνει να επιθεωρήσουμε οποιοδήποτε έξυπνο συμβόλαιο ERC-20 Token στο Ethereum. Χρειαζόμαστε μόνο το Διασύνδεσμο Δυαδικού Κώδικα Εφαρμογής Συμβολαίου (ABI) για να δημιουργήσουμε μια διεπαφή σε οποιοδήποτε ERC-20 Token. Όπως μπορείτε να δείτε παρακάτω, θα χρησιμοποιήσουμε ένα απλοποιημένο ABI, για να το κάνουμε ένα παράδειγμα χαμηλής τριβής. + +#### Παράδειγμα Web3.py {#web3py-example} + +Αρχικά, βεβαιωθείτε ότι έχετε εγκαταστήσει τη βιβλιοθήκη της Python [Web3.py](https://web3py.readthedocs.io/en/stable/quickstart.html#installation): + +``` +pip install web3 +``` + +```python +from web3 import Web3 + + +w3 = Web3(Web3.HTTPProvider("https://cloudflare-eth.com")) + +dai_token_addr = "0x6B175474E89094C44Da98b954EedeAC495271d0F" # DAI +weth_token_addr = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" # Wrapped ether (WETH) + +acc_address = "0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11" # Uniswap V2: DAI 2 + +# This is a simplified Contract Application Binary Interface (ABI) of an ERC-20 Token Contract. +# It will expose only the methods: balanceOf(address), decimals(), symbol() and totalSupply() +simplified_abi = [ + { + 'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}], + 'name': 'balanceOf', + 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'decimals', + 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'symbol', + 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'totalSupply', + 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + } +] + +dai_contract = w3.eth.contract(address=w3.to_checksum_address(dai_token_addr), abi=simplified_abi) +symbol = dai_contract.functions.symbol().call() +decimals = dai_contract.functions.decimals().call() +totalSupply = dai_contract.functions.totalSupply().call() / 10**decimals +addr_balance = dai_contract.functions.balanceOf(acc_address).call() / 10**decimals + +# DAI +print("===== %s =====" % symbol) +print("Total Supply:", totalSupply) +print("Addr Balance:", addr_balance) + +weth_contract = w3.eth.contract(address=w3.to_checksum_address(weth_token_addr), abi=simplified_abi) +symbol = weth_contract.functions.symbol().call() +decimals = weth_contract.functions.decimals().call() +totalSupply = weth_contract.functions.totalSupply().call() / 10**decimals +addr_balance = weth_contract.functions.balanceOf(acc_address).call() / 10**decimals + +# WETH +print("===== %s =====" % symbol) +print("Total Supply:", totalSupply) +print("Addr Balance:", addr_balance) +``` + +## Γνωστά ζητήματα {#erc20-issues} + +### Πρόβλημα λήψης αποδεικτικού ERC-20 {#reception-issue} + +Όταν αποστέλλονται token ERC-20 σε ένα έξυπνο συμβόλαιο που δεν έχει σχεδιαστεί να χειρίζεται token ERC-20, αυτά τα token μπορούν να χαθούν μόνιμα. Αυτό συμβαίνει επειδή το συμβαλλόμενο μέρος που λαμβάνει δεν έχει τη λειτουργικότητα να αναγνωρίζει ή να ανταποκρίνεται στα εισερχόμενα token και δεν υπάρχει μηχανισμός στο πρότυπο ERC-20 για να ειδοποιήσει το συμβαλλόμενο μέρος που λαμβάνει σχετικά με τα εισερχόμενα token. Οι κύριοι τρόποι με τους οποίους εμφανίζεται αυτό το ζήτημα είναι μέσω: + +1. Μηχανισμός μεταφοράς κρυπτονομισμάτων + - Τα ψηφιακά στοιχεία ERC-20 μεταφέρονται χρησιμοποιώντας τις συναρτήσεις transfer ή transferFrom + - Όταν ένας χρήστης στέλνει κρύπτο σε μια διεύθυνση συμβολαίου χρησιμοποιώντας αυτές τις συναρτήσεις, αυτά μεταφέρονται ανεξάρτητα από το εάν το συμβαλλόμενο μέρος που λαμβάνει έχει σχεδιαστεί για να τα χειρίζεται +2. Έλλειψη ειδοποίησης + - Το συμβαλλόμενο μέρος δε λαμβάνει ειδοποίηση ή ενημέρωση ότι του έχουν σταλεί ψηφιακά στοιχεία + - Εάν το συμβαλλόμενο μέρος που λαμβάνει δε διαθέτει μηχανισμό για τη διαχείριση κρύπτο (π.χ. μια συνάρτηση fallback ή μια ειδική συνάρτηση για τη διαχείριση λήψης κρύπτο), τα ψηφιακά στοιχεία είναι ουσιαστικά κολλημένα στη διεύθυνση του συμβολαίου. +3. Χωρίς ενσωματωμένη διαχείριση + - Το πρότυπο ERC-20 δεν περιλαμβάνει υποχρεωτική συνάρτηση για την εφαρμογή συμβαλλόμενων μερών που λαμβάνουν, οδηγώντας σε μια κατάσταση όπου πολλά συμβόλαια δεν είναι σε θέση να διαχειρίζονται σωστά τα εισερχόμενα token + +Μερικά εναλλακτικά πρότυπα προέκυψαν από αυτό το ζήτημα, όπως το [ERC-223](/developers/docs/standards/tokens/erc-223) + +## Περισσότερες πληροφορίες {#further-reading} + +- [EIP-20: ERC-20 Πρότυπο Ψηφιακού Στοιχείου](https://eips.ethereum.org/EIPS/eip-20) +- [OpenZeppelin - Ψηφιακά Στοιχεία](https://docs.openzeppelin.com/contracts/3.x/tokens#ERC20) +- [OpenZeppelin - Εφαρμογή του ERC-20](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol) +- [Alchemy - Οδηγός για Solidity ERC20 Tokens](https://www.alchemy.com/overviews/erc20-solidity) + + +## Άλλα πρότυπα ανταλλάξιμων ψηφιακών στοιχείων {#fungible-token-standards} + +- [ERC-223](/developers/docs/standards/tokens/erc-223) +- [ERC-777](/developers/docs/standards/tokens/erc-777) +- [ERC-4626 - Θησαυροφυλάκια με κρυπτονομίσματα](/developers/docs/standards/tokens/erc-4626) \ No newline at end of file diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-223/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-223/index.md new file mode 100644 index 00000000000..84051c7580d --- /dev/null +++ b/public/content/translations/el/developers/docs/standards/tokens/erc-223/index.md @@ -0,0 +1,197 @@ +--- +title: Πρότυπο ERC-223 Ψηφιακών Στοιχείων +description: Μια επισκόπηση του προτύπου ανταλλάξιμου ψηφιακού στοιχείου ERC-223, πώς λειτουργεί και σύγκριση με το ERC-20. +lang: el +--- + +## Εισαγωγή {#introduction} + +### Τι είναι το ERC-223; {#what-is-erc223} + +Το ERC-223 είναι ένα πρότυπο για ανταλλάξιμα ψηφιακά στοιχεία, παρόμοιο με το πρότυπο ERC-20. Η βασική διαφορά είναι ότι το ERC-223 ορίζει όχι μόνο το API του ψηφιακού στοιχείου, αλλά και τη λογική για τη μεταφορά του από τον αποστολέα στον παραλήπτη. Εισάγει ένα μοντέλο επικοινωνίας που επιτρέπει τη διαχείριση των μεταφορών ψηφιακών στοιχείων από την πλευρά του παραλήπτη. + +### Διαφορές από το ERC-20 {#erc20-differences} + +Το ERC-223 αντιμετωπίζει ορισμένους περιορισμούς του ERC-20 και εισάγει μια νέα μέθοδο αλληλεπίδρασης μεταξύ του συμβολαίου του ψηφιακού στοιχείου και ενός συμβολαίου που ενδέχεται να λάβει τα ψηφιακά στοιχεία. Υπάρχουν λίγα πράγματα που είναι δυνατά με το ERC-223, αλλά όχι με το ERC-20: + +- Διαχείριση μεταφοράς ψηφιακού στοιχείου από την πλευρά του παραλήπτη: Οι παραλήπτες μπορούν να ανιχνεύσουν ότι κατατίθεται ένα ψηφιακό στοιχείο ERC-223. +- Απόρριψη ψηφιακών στοιχείων που αποστέλλονται ακατάλληλα: Εάν ένας χρήστης στείλει ένα ψηφιακό στοιχείο ERC-223 σε ένα συμβόλαιο που δεν υποτίθεται ότι θα λάβει ψηφιακά στοιχεία, το συμβόλαιο μπορεί να απορρίψει τη συναλλαγή, αποτρέποντας την απώλεια των ψηφιακών στοιχείων. +- Μεταδεδομένα σε μεταφορές: Τα ψηφιακά στοιχεία ERC-223 μπορούν να περιλαμβάνουν μεταδεδομένα, επιτρέποντας την προσάρτηση αυθαίρετων πληροφοριών σε συναλλαγές ψηφιακών στοιχείων. + +## Προαπαιτούμενα {#prerequisites} + +- [Λογαριασμοί](/developers/docs/accounts) +- [Έξυπνα συμβόλαια](/developers/docs/smart-contracts/) +- [Πρότυπα κρυπτονομισμάτων](/developers/docs/standards/tokens/) +- [ERC-20](/developers/docs/standards/tokens/erc-20/) + +## Κορμός {#body} + +Το ERC-223 είναι ένα πρότυπο ψηφιακού στοιχείου που υλοποιεί ένα API για ψηφιακά στοιχεία εντός έξυπνων συμβολαίων. Δηλώνει επίσης ένα API για συμβόλαια που υποτίθεται ότι θα λάβουν ψηφιακά στοιχεία ERC-223. Τα συμβόλαια που δεν υποστηρίζουν το ERC-223 Receiver API δεν μπορούν να λάβουν ψηφιακά στοιχεία ERC-223, αποτρέποντας το σφάλμα χρήστη. + +Εάν ένα έξυπνο συμβόλαιο υλοποιεί τις ακόλουθες μεθόδους και συμβάντα, μπορεί να ονομαστεί συμβόλαιο ψηφιακού στοιχείου συμβατό με ERC-223. Μόλις αναπτυχθεί, θα είναι υπεύθυνο να παρακολουθεί τα ψηφιακά στοιχεία που δημιουργήθηκαν στο Ethereum. + +Το συμβόλαιο δεν είναι υποχρεωμένο να έχει μόνο αυτές τις λειτουργίες και ένας προγραμματιστής μπορεί να προσθέσει οποιοδήποτε άλλο χαρακτηριστικό από διαφορετικά πρότυπα ψηφιακού στοιχείου σε αυτό το συμβόλαιο. Για παράδειγμα, οι συναρτήσεις `approve` και `transferFrom` δεν αποτελούν μέρος του προτύπου ERC-223, αλλά αυτές οι συναρτήσεις θα μπορούσαν να υλοποιηθούν εάν είναι απαραίτητο. + +Από [EIP-223](https://eips.ethereum.org/EIPS/eip-223): + +### Μέθοδοι {#methods} + +Το ψηφιακό στοιχείο ERC-223 πρέπει να υποστηρίζει τις ακόλουθες μεθόδους: + +```solidity +function name() public view returns (string) +function symbol() public view returns (string) +function decimals() public view returns (uint8) +function totalSupply() public view returns (uint256) +function balanceOf(address _owner) public view returns (uint256 balance) +function transfer(address _to, uint256 _value) public returns (bool success) +function transfer(address _to, uint256 _value, bytes calldata _data) public returns (bool success) +``` + +Ένα συμβόλαιο που υποτίθεται ότι λαμβάνει ψηφιακά στοιχεία ERC-223 πρέπει να υλοποιεί την ακόλουθη μέθοδο: + +```solidity +function tokenReceived(address _from, uint _value, bytes calldata _data) +``` + +Εάν τα ψηφιακά στοιχεία ERC-223 αποστέλλονται σε ένα συμβόλαιο που δεν υλοποιεί τη συνάρτηση `tokenReceived(..)`, τότε η μεταφορά πρέπει να αποτύχει και τα ψηφιακά στοιχεία δεν πρέπει να μετακινηθούν από το υπόλοιπο του αποστολέα. + +### Γεγονότα {#events} + +```solidity +event Transfer(address indexed _from, address indexed _to, uint256 _value, bytes calldata _data) +``` + +### Παραδείγματα {#examples} + +Το API του ψηφιακού στοιχείου ERC-223 είναι παρόμοιο με αυτό του ERC-20, επομένως από την άποψη της ανάπτυξης UI δεν υπάρχει διαφορά. Η μόνη εξαίρεση εδώ είναι ότι τα ψηφιακά στοιχεία ERC-223 ενδέχεται να μην έχουν συναρτήσεις `approve` + `transferFrom`, καθώς αυτές είναι προαιρετικές για αυτό το πρότυπο. + +#### Παραδείγματα Solidity {#solidity-example} + +Το ακόλουθο παράδειγμα απεικονίζει τον τρόπο λειτουργίας ενός βασικού συμβολαίου ψηφιακού στοιχείου ERC-223: + +```solidity +pragma solidity ^0.8.19; +abstract contract IERC223Recipient { + function tokenReceived(address _from, uint _value, bytes memory _data) public virtual; +} +contract VeryBasicERC223Token { + event Transfer(address indexed from, address indexed to, uint value, bytes data); + string private _name; + string private _symbol; + uint8 private _decimals; + uint256 private _totalSupply; + mapping(address => uint256) private balances; + function name() public view returns (string memory) { return _name; } + function symbol() public view returns (string memory) {return _symbol; } + function decimals() public view returns (uint8) { return _decimals; } + function totalSupply() public view returns (uint256) { return _totalSupply; } + function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } + function isContract(address account) internal view returns (bool) { + uint256 size; + assembly { size := extcodesize(account) } + return size > 0; + } + function transfer(address _to, uint _value, bytes calldata _data) public returns (bool success){ + balances[msg.sender] = balances[msg.sender] - _value; + balances[_to] = balances[_to] + _value; + if(isContract(_to)) { + IERC223Recipient(_to).tokenReceived(msg.sender, _value, _data); + } + emit Transfer(msg.sender, _to, _value, _data); + return true; + } + function transfer(address _to, uint _value) public returns (bool success){ + bytes memory _empty = hex"00000000"; + balances[msg.sender] = balances[msg.sender] - _value; + balances[_to] = balances[_to] + _value; + if(isContract(_to)) { + IERC223Recipient(_to).tokenReceived(msg.sender, _value, _empty); + } + emit Transfer(msg.sender, _to, _value, _empty); + return true; + } +} +``` + +Τώρα θέλουμε ένα άλλο συμβόλαιο να δέχεται καταθέσεις του `tokenA`, υποθέτοντας ότι το tokenA είναι ένα ψηφιακό στοιχείο ERC-223. Το συμβόλαιο πρέπει να δέχεται μόνο το tokenA και να απορρίπτει οποιαδήποτε άλλα ψηφιακά στοιχεία. Όταν το συμβόλαιο λαμβάνει το tokenA, πρέπει να εκπέμπει ένα γεγονός `Deposit()` και να αυξάνει την τιμή της εσωτερικής μεταβλητής `deposits`. + +Δείτε παρακάτω τον κώδικα: + +```solidity +contract RecipientContract is IERC223Recipient { + event Deposit(address whoSentTheTokens); + uint256 deposits = 0; + address tokenA; // The only token that we want to accept. + function tokenReceived(address _from, uint _value, bytes memory _data) public override + { + // It is important to understand that within this function + // msg.sender is the address of a token that is being received, + // msg.value is always 0 as the token contract does not own or send ether in most cases, + // _from is the sender of the token transfer, + // _value is the amount of tokens that was deposited. + require(msg.sender == tokenA); + deposits += _value; + emit Deposit(_from); + } +} +``` + +## Συχνές ερωτήσεις {#faq} + +### Τι θα συμβεί εάν στείλουμε κάποιο tokenB στο συμβόλαιο; {#sending-tokens} + +Η συναλλαγή θα αποτύχει και η μεταφορά των ψηφιακών στοιχείων δε θα πραγματοποιηθεί. Τα κρυπτονομίσματα θα επιστραφούν στη διεύθυνση αποστολέα. + +### Πώς μπορούμε να κάνουμε μια κατάθεση σε αυτό το συμβόλαιο; {#contract-deposits} + +Καλέστε τη συνάρτηση `transfer(address,uint256)` ή `transfer(address,uint256,bytes)` του ψηφιακού στοιχείου ERC-223, καθορίζοντας τη διεύθυνση του `RecipientContract`. + +### Τι θα συμβεί εάν μεταφέρουμε ένα ψηφιακό στοιχείο ERC-20 σε αυτό το συμβόλαιο; {#erc-20-transfers} + +Εάν ένα ψηφιακό στοιχείο ERC-20 αποσταλεί στο `RecipientContract`, τα ψηφιακά στοιχεία θα μεταφερθούν, αλλά η μεταφορά δε θα αναγνωριστεί (δε θα ενεργοποιηθεί κανένα συμβάν `Deposit()` και η τιμή των καταθέσεων δε θα αλλάξει). Οι ανεπιθύμητες καταθέσεις ERC-20 δεν μπορούν να φιλτραριστούν ή να αποτραπούν. + +### Τι γίνεται αν θέλουμε να εκτελέσουμε κάποια συνάρτηση μετά την ολοκλήρωση της κατάθεσης ψηφιακού στοιχείου; {#function-execution} + +Υπάρχουν πολλοί τρόποι για να το κάνετε αυτό. Σε αυτό το παράδειγμα θα ακολουθήσουμε τη μέθοδο που κάνει τις μεταφορές ERC-223 πανομοιότυπες με τις μεταφορές ether: + +```solidity +contract RecipientContract is IERC223Recipient { + event Foo(); + event Bar(uint256 someNumber); + address tokenA; // The only token that we want to accept. + function tokenReceived(address _from, uint _value, bytes memory _data) public override + { + require(msg.sender == tokenA); + address(this).call(_data); // Handle incoming transaction and perform a subsequent function call. + } + function foo() public + { + emit Foo(); + } + function bar(uint256 _someNumber) public + { + emit Bar(_someNumber); + } +} +``` + +Όταν το `RecipientContract` λάβει ένα ψηφιακό στοιχείο ERC-223, το συμβόλαιο θα εκτελέσει μια συνάρτηση κωδικοποιημένη ως παράμετρος `_data` της συναλλαγής ψηφιακού στοιχείου, πανομοιότυπη με τον τρόπο με τον οποίο οι συναλλαγές ether κωδικοποιούν τις κλήσεις συναρτήσεων ως `δεδομένα` συναλλαγών. Διαβάστε το [πεδίο δεδομένων](https://ethereum.org/en/developers/docs/transactions/#the-data-field) για περισσότερες πληροφορίες. + +Στο παραπάνω παράδειγμα, ένα ψηφιακό στοιχείο ERC-223 πρέπει να μεταφερθεί στη διεύθυνση του `RecipientContract` με τη συνάρτηση `transfer(address,uin256,bytes calldata _data)`. Εάν η παράμετρος δεδομένων είναι `0xc2985578` (η υπογραφή μιας συνάρτησης `foo()`), τότε η συνάρτηση foo() θα κληθεί μετά τη λήψη της κατάθεσης ψηφιακού στοιχείου και το συμβάν Foo() θα ενεργοποιηθεί. + +Οι παράμετροι μπορούν επίσης να κωδικοποιηθούν στα `δεδομένα` της μεταφοράς ψηφιακού στοιχείου, για παράδειγμα μπορούμε να καλέσουμε τη συνάρτηση bar() με την τιμή 12345 για το `_someNumber`. Σε αυτή την περίπτωση το `δεδομένα` πρέπει να είναι `0x0423a13200000000000000000000000000000000000000000000000000000000000004d2` όπου `0x0423a132` είναι η υπογραφή της συνάρτησης `bar(uint256)` και το `00000000000000000000000000000000000000000000000000000000000004d2` είναι 12345 ως uint256. + +## Περιορισμοί {#limitations} + +Ενώ το ERC-223 αντιμετωπίζει διάφορα προβλήματα που εντοπίζονται στο πρότυπο ERC-20, δεν είναι χωρίς τους δικούς του περιορισμούς: + +- Υιοθέτηση και Συμβατότητα: Το ERC-223 δεν έχει ακόμη υιοθετηθεί ευρέως, γεγονός που μπορεί να περιορίσει τη συμβατότητά του με τα υπάρχοντα εργαλεία και πλατφόρμες. +- Αντίστροφη Συμβατότητα: Το ERC-223 δεν είναι συμβατό με το ERC-20, που σημαίνει ότι τα υπάρχοντα συμβόλαια και εργαλεία ERC-20 δε θα λειτουργούν με τα ψηφιακά στοιχεία ERC-223 χωρίς τροποποιήσεις. +- Κόστος Gas: Οι πρόσθετοι έλεγχοι και λειτουργίες στις μεταφορές ERC-223 μπορεί να οδηγήσουν σε υψηλότερο κόστος αερίου σε σύγκριση με τις συναλλαγές ERC-20. + +## Περαιτέρω υλικό για διάβασμα {#further-reading} + +- [EIP-223: Πρότυπο Token ERC-223[(https://eips.ethereum.org/EIPS/eip-223) +- [Αρχική πρόταση ERC-223](https://github.com/ethereum/eips/issues/223) diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-4626/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-4626/index.md new file mode 100644 index 00000000000..59159b94115 --- /dev/null +++ b/public/content/translations/el/developers/docs/standards/tokens/erc-4626/index.md @@ -0,0 +1,227 @@ +--- +title: Πρότυπο ERC-4626 ψηφιοποίηση θησαυροφυλακίου +description: Πρότυπο για θησαυροφυλάκια απόδοσης. +lang: el +--- + +## Εισαγωγή {#introduction} + +Το ERC-4626 είναι ένα πρότυπο για τη βελτιστοποίηση και ενοποίηση των τεχνικών παραμέτρων των θησαυροφυλακίων απόδοσης. Παρέχει ένα τυποποιημένο API για tokenized θησαυροφυλάκια απόδοσης που αντιπροσωπεύουν μετοχές ενός ενιαίου υποκείμενου ψηφιακού στοιχείου ERC-20. Το ERC-4626 περιγράφει επίσης μια προαιρετική επέκταση για tokenized θησαυροφυλάκια που χρησιμοποιούν ERC-20, προσφέροντας βασικές λειτουργίες για κατάθεση, ανάληψη token και ανάγνωση υπολοίπων. + +**Ο ρόλος του ERC-4626 στα θησαυροφυλάκια απόδοσης** + +Οι αγορές δανεισμού, οι λειτουργίες συγκέντρωσης και τα εγγενώς ψηφιακά στοιχεία απόδοσης, βοηθούν τους χρήστες να βρουν την καλύτερη απόδοση στα κρυπτονομίσματά τους εκτελώντας διαφορετικές στρατηγικές. Αυτές οι στρατηγικές γίνονται με μικρές διαφοροποιήσεις, οι οποίες μπορεί να είναι επιρρεπείς σε σφάλματα ή να σπαταλούν πόρους ανάπτυξης. + +Το ERC-4626 στα θησαυροφυλάκια απόδοσης θα μειώσει την προσπάθεια ενσωμάτωσης και θα ξεκλειδώσει την πρόσβαση στην απόδοση σε διάφορες εφαρμογές με μικρή εξειδικευμένη προσπάθεια από τους προγραμματιστές δημιουργώντας πιο συνεπή και ισχυρά πρότυπα εφαρμογής. + +Το token ERC-4626 περιγράφεται πλήρως στο [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626). + +**Επέκταση ασύγχρονων θησαυροφυλακίων (ERC-7540)** + +Το ERC-4626 είναι βελτιστοποιημένο για ατομικές καταθέσεις και αναλήψεις μέχρι ένα όριο. Αν φτάσει το όριο, δεν μπορούν να υποβληθούν νέες καταθέσεις ή αναλήψεις. Αυτός ο περιορισμός δε λειτουργεί καλά για οποιοδήποτε σύστημα έξυπνων συμβολαίων που απαιτεί ασύγχρονες ενέργειες ή καθυστερήσεις ως προϋπόθεση για τη διασύνδεση με το Θησαυροφυλάκιο (π.χ. πρωτόκολλα πραγματικών περιουσιακών στοιχείων, πρωτόκολλα δανεισμού χωρίς επαρκείς εγγυήσεις, πρωτόκολλα δανεισμού μεταξύ αλυσίδων, tokens ρευστοποίησης συμμετοχής ή ασφαλιστικές μονάδες προστασίας). + +Το ERC-7540 επεκτείνει τη χρησιμότητα των Θησαυροφυλακίων ERC-4626 για ασύγχρονες περιπτώσεις χρήσης. Η υπάρχουσα διεπαφή του Θησαυροφυλακίου (`deposit`/`withdraw`/`mint`/`redeem`) χρησιμοποιείται πλήρως για την αξίωση ασύγχρονων Αιτημάτων. + +Η επέκταση ERC-7540 περιγράφεται πλήρως στο [ERC-7540](https://eips.ethereum.org/EIPS/eip-7540). + +**Επέκταση θησαυροφυλακίων πολλαπλών περιουσιακών στοιχείων (ERC-7575)** + +Μία περίπτωση χρήσης που λείπει και δεν υποστηρίζεται από το ERC-4626 είναι τα Θησαυροφυλάκια που διαθέτουν πολλαπλά περιουσιακά στοιχεία ή σημεία εισόδου, όπως Tokens Παρόχων Ρευστότητας (LP Tokens). Αυτά γενικά είναι δύσχρηστα ή μη συμβατά λόγω της απαίτησης του ERC-4626 να είναι το ίδιο ένα ERC-20. + +Το ERC-7575 προσθέτει υποστήριξη για Θησαυροφυλάκια με πολλαπλά περιουσιακά στοιχεία εξωτερικεύοντας την υλοποίηση του token ERC-20 από την υλοποίηση του ERC-4626. + +Η επέκταση ERC-7575 περιγράφεται πλήρως στο [ERC-7575](https://eips.ethereum.org/EIPS/eip-7575). + +## Προαπαιτούμενα {#prerequisites} + +Για να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε να διαβάσετε πρώτα για τα [πρότυπα token](/developers/docs/standards/tokens/), [ERC-721](/developers/docs/standards/tokens/erc-20/). + +## ERC-4626 Λειτουργίες και χαρακτηριστικά: {#body} + +### Μέθοδοι {#methods} + +#### asset {#asset} + +```solidity +function asset() public view returns (address assetTokenAddress) +``` + +Αυτή η συνάρτηση επιστρέφει τη διεύθυνση του υποκείμενου διακριτικού που χρησιμοποιείται για το θησαυροφυλάκιο για λογιστική, κατάθεση και ανάληψη. + +#### totalAssets {#totalassets} + +```solidity +function totalAssets() public view returns (uint256) +``` + +Αυτή η συνάρτηση επιστρέφει το συνολικό ποσό των υποκείμενων περιουσιακών στοιχείων που κατέχονται από το θησαυροφυλάκιο. + +#### convertToShares {#convertoshares} + +```solidity +function convertToShares(uint256 assets) public view returns (uint256 shares) +``` + +Αυτή η συνάρτηση επιστρέφει το ποσό των `shares` που θα ανταλλάσσονταν από το θησαυροφυλάκιο για το ποσό των `assets` που παρέχονται. + +#### convertToAssets {#convertoassets} + +```solidity +function convertToAssets(uint256 shares) public view returns (uint256 assets) +``` + +Αυτή η συνάρτηση επιστρέφει το ποσό των `shares` που θα ανταλλάσσονταν από το θησαυροφυλάκιο για το ποσό των `assets` που παρέχονται. + +#### maxDeposit {#maxdeposit} + +```solidity +function maxDeposit(address receiver) public view returns (uint256 maxAssets) +``` + +Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό των υποκείμενων περιουσιακών στοιχείων που μπορεί να κατατεθεί σε μία μόνο κλήση του [`deposit`](#deposit) από τον `receiver`. + +#### previewDeposit {#previewdeposit} + +```solidity +function previewDeposit(uint256 assets) public view returns (uint256 shares) +``` + +Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της κατάθεσής τους στο τρέχον μπλοκ. + +#### κατάθεση {#deposit} + +```solidity +function deposit(uint256 assets, address receiver) public returns (uint256 shares) +``` + +Αυτή η συνάρτηση καταθέτει `assets` των υποκείμενων κρυπτονομισμάτων στο θησαυροφυλάκιο και παραχωρεί την κυριότητα των `shares` στον `receiver`. + +#### maxMint {#maxmint} + +```solidity +function maxMint(address receiver) public view returns (uint256 maxShares) +``` + +Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό μετοχών που μπορούν να «κοπούν» σε μία κλήση [`mint`](#mint) από τον `receiver`. + +#### previewMint {#previewmint} + +```solidity +function previewMint(uint256 shares) public view returns (uint256 assets) +``` + +Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της «κοπής» τους στο τρέχον μπλοκ. + +#### mint {#mint} + +```solidity +function mint(uint256 shares, address receiver) public returns (uint256 assets) +``` + +Αυτή η συνάρτηση «κόβει» ακριβώς `shares` μερίδια θησαυροφυλακίου στον `receiver` καταθέτοντας `assets` των υποκείμενων διακριτικών. + +#### maxWithdraw {#maxwithdraw} + +```solidity +function maxWithdraw(address owner) public view returns (uint256 maxAssets) +``` + +Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό των υποκείμενων περιουσιακών στοιχείων που μπορούν να γίνουν ανάληψη από το υπόλοιπο του `owner` με μία μόνο κλήση [`withdraw`](#withdraw). + +#### previewWithdraw {#previewwithdraw} + +```solidity +function previewWithdraw(uint256 assets) public view returns (uint256 shares) +``` + +Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της ανάληψής τους στο τρέχον μπλοκ. + +#### ανάληψη {#withdraw} + +```solidity +function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares) +``` + +Αυτή η συνάρτηση «καίει» `shares` από τον `owner` και στέλνει ακριβώς το διακριτικό `assets` από το θησαυροφυλάκιο στον `receiver`. + +#### maxRedeem {#maxredeem} + +```solidity +function maxRedeem(address owner) public view returns (uint256 maxShares) +``` + +Αυτή η συνάρτηση επιστρέφει το μέγιστο ποσό μετοχών που μπορούν να εξαργυρωθούν από το υπόλοιπο του `owner` μέσω μιας κλήσης [`redeem`](#redeem). + +#### previewRedeem {#previewredeem} + +```solidity +function previewRedeem(uint256 shares) public view returns (uint256 assets) +``` + +Αυτή η λειτουργία επιτρέπει στους χρήστες να προσομοιώνουν τα αποτελέσματα της εξαργύρωσής τους στο τρέχον μπλοκ. + +#### redeem {#redeem} + +```solidity +function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets) +``` + +Αυτή η συνάρτηση εξαργυρώνει έναν συγκεκριμένο αριθμό `shares` από τον `owner` και στέλνει `assets` του υποκείμενου κρυπτονομίσματος από το θησαυροφυλάκιο στον `receiver`. + +#### totalSupply {#totalsupply} + +```solidity +function totalSupply() public view returns (uint256) +``` + +Επιστρέφει τον συνολικό αριθμό των μη εξαργυρωμένων μετοχών θησαυροφυλακίου σε κυκλοφορία. + +#### balanceOf {#balanceof} + +```solidity +function balanceOf(address owner) public view returns (uint256) +``` + +Επιστρέφει το συνολικό ποσό των μετοχών του θησαυροφυλακίου που έχει αυτή τη στιγμή ο `owner`. + +### Χάρτης της διεπαφής {#mapOfTheInterface} + +![Χάρτης της διεπαφής ERC-4626](./map-of-erc-4626.png) + +### Συμβάντα {#events} + +#### Πράξη κατάθεσης + +**ΠΡΕΠΕΙ** να αποστέλλονται όταν τα κρυπτονομίσματα κατατίθενται στο θησαυροφυλάκιο μέσω του [`mint`](#mint) και τις μεθόδους [`deposit`](#deposit). + +```solidity +event Deposit( + address indexed sender, + address indexed owner, + uint256 assets, + uint256 shares +) +``` + +Όπου `sender` είναι ο χρήστης που έκανε την ανταλλαγή `assets` με `shares` και μετέφερε αυτές τις `shares` στον `owner`. + +#### Γεγονός ανάληψης + +**ΠΡΕΠΕΙ** να αποστέλλονται όταν οι μετοχές αποσύρονται από το θησαυροφυλάκιο από έναν καταθέτη με τις μεθόδους [`redeem`](#redeem) ή [`withdraw`](#withdraw). + +```solidity +event Withdraw( + address indexed sender, + address indexed receiver, + address indexed owner, + uint256 assets, + uint256 shares +) +``` + +Όπου `Sender` είναι ο χρήστης που ενεργοποίησε την ανάληψη και αντάλλαξε `shares`, που ανήκουν στον `owner`, με `assets`. Ο `receiver` είναι ο χρήστης που έλαβε τα `assets` που έγιναν ανάληψη. + +## Περισσότερες πληροφορίες {#further-reading} + +- [ΕΙΡ-4626: Πρότυπο ψηφιοποίησης θησαυροφυλακίου](https://eips.ethereum.org/EIPS/eip-4626) +- [ERC-4626: Αποθετήριο GitHub](https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC4626.sol) diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-721/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-721/index.md new file mode 100644 index 00000000000..dc4f6473d11 --- /dev/null +++ b/public/content/translations/el/developers/docs/standards/tokens/erc-721/index.md @@ -0,0 +1,244 @@ +--- +title: ERC-721 Πρότυπο Μη Εναλλάξιμων Κρυπτοπαραστατικών +description: +lang: el +--- + +## Εισαγωγή {#introduction} + +**Τι είναι το Μη Εναλλάξιμο Κρυπτοπαραστατικό;** + +Το Μη Εναλλάξιμο Κρυπτοπαραστατικό (NFT) χρησιμοποιείται για να προσδιορίσει κάτι ή κάποιον με έναν μοναδικό τρόπο. Αυτός ο τύπος Ψηφιακού Στοιχείου είναι τέλειος για να χρησιμοποιηθεί σε πλατφόρμες που προσφέρουν συλλεκτικά αντικείμενα, κλειδιά πρόσβασης, εισιτήρια λαχειοφόρων αγορών, αριθμημένες θέσεις για συναυλίες, αθλητικούς αγώνες, κλπ. Αυτός ο ειδικός τύπος Ψηφιακού Στοιχείου έχει καταπληκτικές δυνατότητες, οπότε του αξίζει ένα κατάλληλο Πρότυπο, το ERC-721 που ήρθε για να δώσει λύση σε αυτό! + +**Τι είναι το ERC-721;** + +Το ERC-721 εισάγει ένα πρότυπο για τα NFT. Αυτός ο τύπος ψηφιακών στοιχείων είναι μοναδικός και μπορεί να έχει διαφορετική αξία από κάποιο άλλο ψηφιακό στοιχείο που προέρχεται από το ίδιο Έξυπνο Συμβόλαιο, ίσως λόγω της ηλικίας του, της σπανιότητάς του ή ακόμα και κάποιου άλλου χαρακτηριστικού, όπως η εμφάνισή του. Περιμένετε, εικονικό; + +Ναι! Όλα τα NFT έχουν μια μεταβλητή `uint256` που ονομάζεται `tokenId`, επομένως για οποιοδήποτε συμβόλαιο ERC-721, το ζεύγος `contract address, uint256 tokenId` πρέπει να είναι καθολικά μοναδικό. Επομένως, μια dapp μπορεί να έχει έναν "μετατροπέα" που χρησιμοποιεί το `tokenId` ως είσοδο και εξάγει μια εικόνα κάτι ωραίου, όπως ζόμπι, όπλα, δεξιότητες ή καταπληκτικά γατάκια! + +## Προαπαιτούμενα {#prerequisites} + +- [Λογαριασμοί](/developers/docs/accounts/) +- [Έξυπνα Συμβόλαια](/developers/docs/smart-contracts/) +- [Πρότυπα ψηφιακού στοιχείου](/developers/docs/standards/tokens/) + +## Κορμός {#body} + +Το ERC-721 (Ethereum Request for Comments 721), που προτάθηκε από τους William Entriken, Dieter Shirley, Jacob Evans, Nastassia Sachs τον Ιανουάριο του 2018, είναι ένα Πρότυπο Μη Εναλλάξιμων Κρυπτοπαραστατικών που υλοποιεί ένα API για ψηφιακά στοιχεία εντός των Έξυπνων Συμβολαίων. + +Παρέχει λειτουργίες όπως η μεταφορά ψηφιακών στοιχείων από έναν λογαριασμό σε έναν άλλο, η λήψη του τρέχοντος υπολοίπου ενός λογαριασμού, η λήψη του κατόχου ενός συγκεκριμένου ψηφιακού στοιχείου και επίσης η συνολική προσφορά των διαθέσιμων ψηφιακών στοιχείων στο δίκτυο. Έχει επίσης κάποιες άλλες λειτουργίες, όπως η έγκριση ότι ένα ποσό ψηφιακών στοιχείων από έναν λογαριασμό μπορεί να μετακινηθεί από έναν λογαριασμό τρίτου μέρους. + +Εάν ένα Έξυπνο Συμβόλαιο υλοποιεί τις ακόλουθες μεθόδους και συμβάντα, μπορεί να ονομαστεί Συμβόλαιο Μη Εναλλάξιμων Κρυπτοπαραστατικών ERC-721 και μόλις αναπτυχθεί θα είναι υπεύθυνο για την παρακολούθηση των στοιχείων που δημιουργήθηκαν στο Ethereum. + +Από το [EIP-721](https://eips.ethereum.org/EIPS/eip-721): + +### Μέθοδοι {#methods} + +```solidity + function balanceOf(address _owner) external view returns (uint256); + function ownerOf(uint256 _tokenId) external view returns (address); + function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable; + function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable; + function transferFrom(address _from, address _to, uint256 _tokenId) external payable; + function approve(address _approved, uint256 _tokenId) external payable; + function setApprovalForAll(address _operator, bool _approved) external; + function getApproved(uint256 _tokenId) external view returns (address); + function isApprovedForAll(address _owner, address _operator) external view returns (bool)˙ +``` + +### Συμβάντα {#events} + +```solidity + event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId); + event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId); + event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved); +``` + +### Παραδείγματα {#web3py-example} + +Ας δούμε πώς ένα πρότυπο είναι τόσο σημαντικό για να διευκολύνει να επιθεωρήσουμε οποιοδήποτε έξυπνο συμβόλαιο ψηφιακών στοιχείων ERC-721 στο Ethereum. Χρειαζόμαστε μόνο το Διασύνδεσμο Δυαδικού Κώδικα Εφαρμογής Συμβολαίου (ABI) για να δημιουργήσουμε μια διεπαφή σε οποιοδήποτε ψηφιακό στοιχείο ERC-721. Όπως μπορείτε να δείτε παρακάτω, θα χρησιμοποιήσουμε ένα απλοποιημένο ABI, για να το κάνουμε ένα παράδειγμα χαμηλής τριβής. + +#### Παράδειγμα Web3.py {#web3py-example} + +Αρχικά, βεβαιωθείτε ότι έχετε εγκαταστήσει τη βιβλιοθήκη Python [Web3.py](https://web3py.readthedocs.io/en/stable/quickstart.html#installation): + +``` +pip install web3 +``` + +```python +from web3 import Web3 +from web3._utils.events import get_event_data + + +w3 = Web3(Web3.HTTPProvider("https://cloudflare-eth.com")) + +ck_token_addr = "0x06012c8cf97BEaD5deAe237070F9587f8E7A266d" # CryptoKitties Contract + +acc_address = "0xb1690C08E213a35Ed9bAb7B318DE14420FB57d8C" # CryptoKitties Sales Auction + +# This is a simplified Contract Application Binary Interface (ABI) of an ERC-721 NFT Contract. +# It will expose only the methods: balanceOf(address), name(), ownerOf(tokenId), symbol(), totalSupply() +simplified_abi = [ + { + 'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}], + 'name': 'balanceOf', + 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], + 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'name', + 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [{'internalType': 'uint256', 'name': 'tokenId', 'type': 'uint256'}], + 'name': 'ownerOf', + 'outputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], + 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'symbol', + 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [], + 'name': 'totalSupply', + 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], + 'stateMutability': 'view', 'type': 'function', 'constant': True + }, +] + +ck_extra_abi = [ + { + 'inputs': [], + 'name': 'pregnantKitties', + 'outputs': [{'name': '', 'type': 'uint256'}], + 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True + }, + { + 'inputs': [{'name': '_kittyId', 'type': 'uint256'}], + 'name': 'isPregnant', + 'outputs': [{'name': '', 'type': 'bool'}], + 'payable': False, 'stateMutability': 'view', 'type': 'function', 'constant': True + } +] + +ck_contract = w3.eth.contract(address=w3.to_checksum_address(ck_token_addr), abi=simplified_abi+ck_extra_abi) +name = ck_contract.functions.name().call() +symbol = ck_contract.functions.symbol().call() +kitties_auctions = ck_contract.functions.balanceOf(acc_address).call() +print(f"{name} [{symbol}] NFTs in Auctions: {kitties_auctions}") + +pregnant_kitties = ck_contract.functions.pregnantKitties().call() +print(f"{name} [{symbol}] NFTs Pregnants: {pregnant_kitties}") + +# Using the Transfer Event ABI to get info about transferred Kitties. +tx_event_abi = { + 'anonymous': False, + 'inputs': [ + {'indexed': False, 'name': 'from', 'type': 'address'}, + {'indexed': False, 'name': 'to', 'type': 'address'}, + {'indexed': False, 'name': 'tokenId', 'type': 'uint256'}], + 'name': 'Transfer', + 'type': 'event' +} + +# We need the event's signature to filter the logs +event_signature = w3.keccak(text="Transfer(address,address,uint256)").hex() + +logs = w3.eth.get_logs({ + "fromBlock": w3.eth.block_number - 120, + "address": w3.to_checksum_address(ck_token_addr), + "topics": [event_signature] +}) + +# Notes: +# - Increase the number of blocks up from 120 if no Transfer event is returned. +# - If you didn't find any Transfer event you can also try to get a tokenId at: +# https://etherscan.io/address/0x06012c8cf97BEaD5deAe237070F9587f8E7A266d#events +# Click to expand the event's logs and copy its "tokenId" argument +recent_tx = [get_event_data(w3.codec, tx_event_abi, log)["args"] for log in logs] + +if recent_tx: + kitty_id = recent_tx[0]['tokenId'] # Paste the "tokenId" here from the link above + is_pregnant = ck_contract.functions.isPregnant(kitty_id).call() + print(f"{name} [{symbol}] NFTs {kitty_id} is pregnant: {is_pregnant}") +``` + +Το συμβόλαιο CryptoKitties έχει κάποια ενδιαφέροντα Γεγονότα εκτός από τα Τυπικά. + +Ας δούμε δύο από αυτά το `Pregnant` και το `Birth`. + +```python +# Using the Pregnant and Birth Events ABI to get info about new Kitties. +ck_extra_events_abi = [ + { + 'anonymous': False, + 'inputs': [ + {'indexed': False, 'name': 'owner', 'type': 'address'}, + {'indexed': False, 'name': 'matronId', 'type': 'uint256'}, + {'indexed': False, 'name': 'sireId', 'type': 'uint256'}, + {'indexed': False, 'name': 'cooldownEndBlock', 'type': 'uint256'}], + 'name': 'Pregnant', + 'type': 'event' + }, + { + 'anonymous': False, + 'inputs': [ + {'indexed': False, 'name': 'owner', 'type': 'address'}, + {'indexed': False, 'name': 'kittyId', 'type': 'uint256'}, + {'indexed': False, 'name': 'matronId', 'type': 'uint256'}, + {'indexed': False, 'name': 'sireId', 'type': 'uint256'}, + {'indexed': False, 'name': 'genes', 'type': 'uint256'}], + 'name': 'Birth', + 'type': 'event' + }] + +# We need the event's signature to filter the logs +ck_event_signatures = [ + w3.keccak(text="Pregnant(address,uint256,uint256,uint256)").hex(), + w3.keccak(text="Birth(address,uint256,uint256,uint256,uint256)").hex(), +] + +# Here is a Pregnant Event: +# - https://etherscan.io/tx/0xc97eb514a41004acc447ac9d0d6a27ea6da305ac8b877dff37e49db42e1f8cef#eventlog +pregnant_logs = w3.eth.get_logs({ + "fromBlock": w3.eth.block_number - 120, + "address": w3.to_checksum_address(ck_token_addr), + "topics": [ck_event_signatures[0]] +}) + +recent_pregnants = [get_event_data(w3.codec, ck_extra_events_abi[0], log)["args"] for log in pregnant_logs] + +# Here is a Birth Event: +# - https://etherscan.io/tx/0x3978028e08a25bb4c44f7877eb3573b9644309c044bf087e335397f16356340a +birth_logs = w3.eth.get_logs({ + "fromBlock": w3.eth.block_number - 120, + "address": w3.to_checksum_address(ck_token_addr), + "topics": [ck_event_signatures[1]] +}) + +recent_births = [get_event_data(w3.codec, ck_extra_events_abi[1], log)["args"] for log in birth_logs] +``` + +## Δημοφιλή NFT {#popular-nfts} + +- Το [Etherscan NFT Tracker](https://etherscan.io/tokens-nft) αναφέρεται στο κορυφαίο NFT στο Ethereum ανά όγκο μεταφορών. +- Το [CryptoKitties](https://www.cryptokitties.co/) είναι ένα παιχνίδι με επίκεντρο τα αναπαραγωγικά, συλλεκτικά και τόσο αξιολάτρευτα πλάσματα που ονομάζουμε CryptoKitties. +- Το [Sorare](https://sorare.com/) είναι ένα παγκόσμιο παιχνίδι φαντασίας ποδοσφαίρου όπου μπορείτε να συλλέξετε περιορισμένες εκδόσεις συλλεκτικών, να διαχειριστείτε ομάδες και να διαγωνιστείτε για βραβεία. +- Το [The Ethereum Name Service (ENS)](https://ens.domains/) προσφέρει ένα ασφαλές & αποκεντρωμένο τρόπο αντιμετώπισης πόρων και των δύο εντός και εκτός του blockchain χρησιμοποιώντας απλά, ευανάγνωστα από τον άνθρωπο ονόματα. +- Το [POAP](https://poap.xyz) παρέχει δωρεάν NFT σε άτομα που παρακολουθούν εκδηλώσεις ή ολοκληρώνουν συγκεκριμένες ενέργειες. Τα POAP είναι δωρεάν για δημιουργία και διανομή. +- Το [Unstoppable Domains](https://unstoppabledomains.com/) είναι μια εταιρεία με έδρα το Σαν Φρανσίσκο που χτίζει τομείς blockchains. Οι τομείς Blockchain αντικαθιστούν τις διευθύνσεις κρυπτονομισμάτων με ονόματα αναγνώσιμα από τον άνθρωπο και μπορούν να χρησιμοποιηθούν για την ενεργοποίηση ιστοσελίδων ανθεκτικών στη λογοκρισία. +- Το [Gods Unchained Cards](https://godsunchained.com/) είναι ένα TCG στο Ethereum blockchain που χρησιμοποιεί NFT για δημιουργία πραγματικής ιδιοκτησίας στα στοιχεία του παιχνιδιού. +- Το [Bored Ape Yacht Club](https://boredapeyachtclub.com) είναι μια συλλογή από 10,000 μοναδικά NFT, τα οποία εκτός από το να είναι αποδεδειγμένα σπάνια έργα τέχνης, λειτουργούν ως σύμβολο συμμετοχής στο κλαμπ, παρέχοντας προνόμια και οφέλη μελών που αυξάνονται με την πάροδο του χρόνου ως αποτέλεσμα των προσπαθειών της κοινότητας. + +## Περισσότερες πληροφορίες {#further-reading} + +- [EIP-721: Πρότυπο για Mη Εναλλάξιμο Κρυπτοπαραστατικό](https://eips.ethereum.org/EIPS/eip-721) +- [OpenZeppelin - ERC-721 Τεκμηρίωση](https://docs.openzeppelin.com/contracts/3.x/erc721) +- [OpenZeppelin - Εφαρμογή του ERC-721](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol) +- [Alchemy NFT API](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api) diff --git a/public/content/translations/el/developers/docs/standards/tokens/erc-777/index.md b/public/content/translations/el/developers/docs/standards/tokens/erc-777/index.md new file mode 100644 index 00000000000..19018677489 --- /dev/null +++ b/public/content/translations/el/developers/docs/standards/tokens/erc-777/index.md @@ -0,0 +1,45 @@ +--- +title: Πρότυπο Ψηφιακού Στοιχείου ERC-777 +description: null +lang: el +--- + +## Προσοχή {#warning} + +**Το ERC-777 είναι δύσκολο να εφαρμοστεί σωστά, λόγω της [ευπάθειάς του σε διάφορες μορφές επίθεσης](https://github.com/OpenZeppelin/openzeppelin-contracts/issues/2620). Συνιστάται η χρήση του [ERC-20](/developers/docs/standards/tokens/erc-20/) αντ' αυτού.** Αυτή η σελίδα παραμένει ως ιστορικό αρχείο. + +## Εισαγωγή {#introduction} + +Το ERC-777 είναι ένα πρότυπο εναλλάξιμου ψηφιακού στοιχείου που βελτιώνει το υπάρχον πρότυπο [ERC-20](/developers/docs/standards/tokens/erc-20/). + +## Προαπαιτούμενα {#prerequisites} + +Για την καλύτερη κατανόηση αυτής της σελίδας, σας συνιστούμε να διαβάσετε πρώτα για το [ERC-20](/developers/docs/standards/tokens/erc-20/). + +## Ποιες βελτιώσεις προτείνει το ERC-777 έναντι του ERC-20; {#-erc-777-vs-erc-20} + +Το ERC-777 παρέχει τις ακόλουθες βελτιώσεις σε σχέση με το ERC-20. + +### Hooks {#hooks} + +Τα Hooks είναι μια συνάρτηση που περιγράφεται στον κώδικα ενός έξυπνου συμβολαίου. Τα Hooks καλούνται όταν στέλνονται ή λαμβάνονται ψηφιακά στοιχεία μέσω του συμβολαίου. Αυτό επιτρέπει σε ένα έξυπνο συμβόλαιο να αντιδρά σε εισερχόμενα ή εξερχόμενα ψηφιακά στοιχεία. + +Τα hooks καταχωρούνται και ανακαλύπτονται χρησιμοποιώντας το πρότυπο [ERC-1820](https://eips.ethereum.org/EIPS/eip-1820). + +#### Γιατί είναι σημαντικά τα hooks; {#why-are-hooks-great} + +1. Τα Hooks επιτρέπουν την αποστολή ψηφιακών στοιχείων σε ένα συμβόλαιο και την ειδοποίηση του συμβολαίου σε μία μόνο συναλλαγή, σε αντίθεση με το [ERC-20](https://eips.ethereum.org/EIPS/eip-20), το οποίο απαιτεί μια διπλή κλήση (`approve`/transferFrom) για να το επιτύχει αυτό. +2. Τα συμβόλαια που δεν έχουν καταχωρίσει hooks δεν είναι συμβατά με το ERC-777. Το συμβόλαιο αποστολής θα ακυρώσει τη συναλλαγή όταν το συμβόλαιο λήψης δεν έχει καταχωρίσει ένα hook. Αυτό αποτρέπει τυχαίες μεταφορές σε έξυπνα συμβόλαια που δεν είναι ERC-777. +3. Τα Hooks μπορούν να απορρίψουν συναλλαγές. + +### Δεκαδικά {#decimals} + +Το πρότυπο λύνει επίσης τη σύγχυση γύρω από τα `δεκαδικά` που προκαλείται στο ERC-20. Αυτή η σαφήνεια βελτιώνει την εμπειρία του προγραμματιστή. + +### Αντικειμενοστραφείς συμβατότητας με ERC-20 {#backwards-compatibility-with-erc-20} + +Μπορείτε να αλληλεπιδράσετε με τα συμβόλαια ERC-777 σαν να ήταν συμβόλαια ERC-20. + +## Περαιτέρω υλικό προς ανάγνωση {#further-reading} + +[EIP-777: Πρότυπο ψηφιακών στοιχείων](https://eips.ethereum.org/EIPS/eip-777) diff --git a/public/content/translations/el/developers/docs/standards/tokens/index.md b/public/content/translations/el/developers/docs/standards/tokens/index.md new file mode 100644 index 00000000000..bf9a6cae98f --- /dev/null +++ b/public/content/translations/el/developers/docs/standards/tokens/index.md @@ -0,0 +1,39 @@ +--- +title: Πρότυπα κρυπτονομισμάτων +description: +lang: el +incomplete: true +--- + +## Εισαγωγή {#introduction} + +Πολλά πρότυπα ανάπτυξης Ethereum επικεντρώνονται στη διεπαφή του κρυπτονομίσματος. Αυτά τα πρότυπα βοηθούν να διασφαλιστεί ότι τα έξυπνα συμβόλαια παραμένουν ουδέτερα, ώστε όταν ένα νέο έργο εκδίδει ένα ψηφιακό στοιχείο, να παραμένει συμβατό με τα αποκεντρωμένα ανταλλακτήρια. + +## Προαπαιτούμενα {#prerequisites} + +- [Πρότυπα ανάπτυξης Ethereum](/developers/docs/standards/) +- [Έξυπνα συμβόλαια](/developers/docs/smart-contracts/) + +## Πρότυπα ψηφιακών στοιχείων {#token-standards} + +Δείτε παρακάτω μερικά από τα πιο δημοφιλή πρότυπα κρυπτονομισμάτων στο Ethereum: + +- [ERC-20](/developers/docs/standards/tokens/erc-20/) - Ένα πρότυπο διεπαφής για εναλλάξιμα (ανταλλάξιμα) ψηφιακά στοιχεία, όπως κρύπτο ψηφοφορίας, αποθήκευσης κεφαλαίου ή εικονικά νομίσματα. + +### Πρότυπα NFT {#nft-standards} + +- [ERC-721](/developers/docs/standards/tokens/erc-721/) - Μια τυπική διεπαφή για μη εναλλάξιμα κρυπτοπαραστατικά, όπως μια πράξη για έργα τέχνης ή ένα τραγούδι. +- [ERC-1155](/developers/docs/standards/tokens/erc-1155/) - Το ERC-1155 επιτρέπει πιο αποτελεσματικές συναλλαγές και ομαδοποίηση συναλλαγών – εξοικονομώντας κόστος. Αυτό το πρότυπο ψηφιακών στοιχείων επιτρέπει τη δημιουργία τόσο βοηθητικών κρύπτο (όπως $BNB ή $BAT) όσο και μη εναλλάξιμων κρυπτοπαραστατικών όπως τα CryptoPunks. + +Η πλήρης λίστα προτάσεων [ERC](https://eips.ethereum.org/erc). + +## Περισσότερες πληροφορίες {#further-reading} + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ + +## Σχετικοί οδηγοί {#related-tutorials} + +- [Λίστα ελέγχου ενσωμάτωσης ψηφιακών στοιχείων](/developers/tutorials/token-integration-checklist/) _– Μια λίστα ελέγχου με θέματα που πρέπει να λάβετε υπόψη κατά την αλληλεπίδραση με ψηφιακά στοιχεία._ +- [Κατανόηση έξυπνου συμβολαίου ψηφιακών στοιχείων ERC20](/developers/tutorials/understand-the-erc-20-token-smart-contract/) _– Εισαγωγή στην ανάπτυξη του πρώτου σας έξυπνου συμβολαίου σε ένα δίκτυο δοκιμής Ethereum._ +- [Μεταφορά και έγκριση κρυπτονομισμάτων ERC20 από έξυπνο συμβόλαιο Solidity](/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/) _– Πως να χρησιμοποιείσετε ένα έξυπνο συμβόλαιο για αλληλεπίδραση με κρυπτονόμισμα με χρήση της γλώσσας Solidity._ +- [Εφαρμογή μιας αγοράς ERC721 [οδηγός χρήσης]](/developers/tutorials/how-to-implement-an-erc721-market/) _– Πώς να θέσετε προς πώληση κρυπτοαντικείμενα σε έναν αποκεντρωμένο πίνακα αγγελιών._ diff --git a/public/content/translations/el/enterprise/index.md b/public/content/translations/el/enterprise/index.md index ba4fb85bf5f..5805f36ca2d 100644 --- a/public/content/translations/el/enterprise/index.md +++ b/public/content/translations/el/enterprise/index.md @@ -36,126 +36,126 @@ lang: el ## Πόροι προγραμματιστών επιχειρήσεων {#enterprise-developer-resources} -### Προϊόντα και Υπηρεσίες {#products-and-services} - -- [4EVERLAND](https://www.4everland.org/) — _παρέχει API, υπηρεσίες RPC και εργαλεία φιλοξενίας αποκεντρωμένων εφαρμογών και αποκεντρωμένης αποθήκευσης στο Ethereum_ -- [Alchemy](https://www.alchemy.com/) — _παρέχει υπηρεσίες και εργαλεία API για την ανάπτυξη και την παρακολούθηση εφαρμογών στο Ethereum_ -- [Blast](https://blastapi.io/) — _μια πλατφόρμα API που παρέχει RPC/WSS API για το κεντρικό δίκτυο αρχείων και τα δοκιμαστικά δίκτυα Ethereum._ -- [Blockapps](https://blockapps.net/) — _εφαρμογή του πρωτοκόλλου Ethereum για επιχειρήσεις, εργαλεία και API που διαμορφώνουν την πλατφόρμα STRATO_ -- [Chainstack](https://chainstack.com/) — _υποδομές κεντρικού και δοκιμαστικού δικτύου του Ethereum που φιλοξενούνται σε δημόσια & απομονωμένα υπολογιστικά νέφη πελάτη_ -- [ConsenSys](https://consensys.io/) — _παρέχει μια γκάμα προϊόντων και εργαλείων για ανάπτυξη στο Ethereum, καθώς και υπηρεσίες συμβουλευτικής και εξατομικευμένης ανάπτυξης_ -- [Crossmint](http://crossmint.com/) — _πλατφόρμα ανάπτυξης web3 για την αξιοποίηση έξυπνων συμβολαίων, τη δυνατότητα χρήσης πιστωτικών καρτών και πληρωμών μεταξύ αλυσίδων, και τη χρήση API για τη δημιουργία, τη διανομή, την πώληση, την αποθήκευση και την επιμέλεια NFT._ -- [Κρυπτοαλυσίδα Envision](https://envisionblockchain.com/) — _παρέχει συμβουλευτικές και αναπτυξιακές υπηρεσίες που επικεντρώνονται στις επιχειρήσεις με ειδίκευση στο κεντρικό δίκτυο Ethereum_ -- [EY OpsChain](https://blockchain.ey.com/products/contract-manager) — _παρέχει ροή εργασιών για συνάψεις συμβάσεων εκδίδοντας συμβόλαια RFQ, διαταγές αγοράς και τιμολόγια για το δικό σας δίκτυο έμπιστων επιχειρηματικών εταίρων_ -- [Hyperledger Besu](https://www.hyperledger.org/use/besu) — _πελάτης Ethereum ανοικτής πηγής για επιχειρήσεις που αναπτύσσεται βάσει της άδειας Apache 2.0 και γράφεται σε Java_ -- [Infura](https://infura.io/) — _επεκτάσιμη πρόσβαση API στα δίκτυα Ethereum και IPFS_ -- [Kaleido](https://kaleido.io/) — _πλατφόρμα ανάπτυξης για επιχειρήσεις που προσφέρει απλοποιημένες εφαρμογές κρυπτοαλυσίδων και ψηφιακών περιουσιακών στοιχείων_ -- [NodeReal](https://nodereal.io/) — _παρέχει επεκτάσιμη υποδομή κρυπτοαλυσίδας και υπηρεσίες API για το οικοσύστημα Web3_ -- [Moralis](http://moralis.io/) — _API και κόμβοι για επιχειρήσεις με πιστοποίηση SOC2 τύπου 2_ -- [Provide](https://provide.services/) — _ενδιάμεσο λογισμικό μηδενικής γνώσης για επιχειρήσεις_ -- [QuickNode](https://www.quicknode.com/) — _παρέχει αξιόπιστους και γρήγορους κόμβους με API υψηλού επιπέδου, όπως τα NFT API, Token API, κλπ., διαθέτοντας ενοποιημένη σουίτα προϊόντων και λύσεις για επιχειρήσεις_ -- [Tenderly](https://tenderly.co) — _πλατφόρμα ανάπτυξης Web3 που παρέχει αποσφαλμάτωση, παρατηρησιμότητα και μπλοκ κατασκευής υποδομών για την ανάπτυξη, τη δοκιμή, την παρακολούθηση και τη λειτουργία έξυπνων συμβολαίων_ -- [Unibright](https://unibright.io/) — _ομάδα που αποτελείται από ειδικούς, αρχιτέκτονες, προγραμματιστές και συμβούλους κρυπτοαλυσίδων με περισσότερα από 20 χρόνια εμπειρίας στις επιχειρηματικές διαδικασίες και την ενοποίηση_ -- [Zeeve](https://www.zeeve.io/) - _παρέχει μια σειρά από προϊόντα και εργαλεία ανάπτυξης στο Ethereum, καθώς και υποδομή και API για επιχειρηματικές εφαρμογές Web3._ - -### Εργαλεία και βιβλιοθήκες {#tooling-and-libraries} - -- [Baseline Project](https://www.baseline-protocol.org/) — _Το πρωτόκολλο Baseline είναι μια δέσμη εργαλείων και βιβλιοθηκών που βοηθά τις επιχειρήσεις να συντονίσουν πολύπλοκες, πολυμερείς επιχειρηματικές διαδικασίες και ροές εργασιών με ιδιωτικότητα, τηρώντας παράλληλα τα δεδομένα σε αντίστοιχα συστήματα αρχείου. Το πρότυπο επιτρέπει σε δύο ή περισσότερες μηχανές κατάστασης να κατακτούν και να διατηρούν τη συνοχή των δεδομένων και τη συνέχεια της ροής εργασιών χρησιμοποιώντας ένα δίκτυο ως κοινό πλαίσιο αναφοράς._ -- [Chainlens](https://www.chainlens.com/) — _πλατφόρμα δεδομένων κρυπτοαλυσίδας SaaS και on-prem και αναλυτικών στοιχείων από την Web3 Labs_ -- [«Nightfall» της Ernst & Young](https://github.com/EYBlockchain/nightfall_3) — _εφαρμογή για μεταφορά των εφαρμογών ERC20, ERC721 και ERC1155 με πρωτόκολλο μηδενικής γνώσης, με τη χρήση Optimistic Rollup_ - ### Λύσεις επεκτασιμότητας {#scalability-solutions} Οι περισσότερες νέες εφαρμογές κρυπτοαλυσίδας αναπτύσσονται σε αλυσίδες [επιπέδου 2](/layer-2). Το Επίπεδο 2 είναι ένα σύνολο τεχνολογιών ή συστημάτων που τρέχουν πάνω από το Ethereum (Επίπεδο 1), κληρονομούν ιδιότητες ασφαλείας από το Επίπεδο 1 και παρέχουν μεγαλύτερη ικανότητα επεξεργασίας συναλλαγών (παραγωγικότητα), χαμηλότερα τέλη συναλλαγής (κόστος λειτουργίας) και ταχύτερες επιβεβαιώσεις συναλλαγών από Επίπεδο 1. Οι λύσεις κλιμάκωσης επιπέδου 2 εξασφαλίζονται από το επίπεδο 1, αλλά επιτρέπουν στις εφαρμογές κρυπτοαλυσίδας να χειρίζονται πολύ περισσότερους χρήστες ή ενέργειες ή δεδομένα από αυτά που θα μπορούσαν να φιλοξενηθούν στο επίπεδο 1. Πολλά από αυτά αξιοποιούν τις πρόσφατες εξελίξεις στην κρυπτογραφία και τις αποδείξεις μηδενικής γνώσης [zero-knowledge (ZK)] για να μεγιστοποιήσουν την απόδοση και την ασφάλεια, ενώ ορισμένα προσφέρουν ένα επιπλέον επίπεδο ιδιωτικότητας. -## Οι εφαρμογές επιχειρήσεων ζωντανά στο κεντρικό δίκτυο Ethereum {#enterprise-live-on-mainnet} +Το [L2 Beat](https://l2beat.com/scaling/summary) διατηρεί μια ενημερωμένη λίστα δικτύων Επιπέδου 2 και βασικών κλειδιών. -Ακολουθούν ορισμένες από τις εταιρικές εφαρμογές που έχουν δημιουργηθεί πάνω από το δημόσιο κεντρικό δίκτυο Ethereum και τα επίπεδα 2 (L2) από και για παραδοσιακές εταιρείες που δεν βασίζονται σε κρυπτοαλυσίδα. +### Προϊόντα, υπηρεσίες και εργαλεία {#products-and-services} + +- [4EVERLAND](https://www.4everland.org/) — _παρέχει API, υπηρεσίες RPC και εργαλεία φιλοξενίας αποκεντρωμένων εφαρμογών και αποκεντρωμένης αποθήκευσης στο Ethereum_ +- [Alchemy](https://www.alchemy.com/) — _παρέχει υπηρεσίες και εργαλεία API για την ανάπτυξη και την παρακολούθηση εφαρμογών στο Ethereum_ +- [Baseline Project](https://www.baseline-protocol.org/) — _μια δέσμη εργαλείων και βιβλιοθηκών που βοηθά τις επιχειρήσεις να συντονίσουν πολύπλοκες, πολυμερείς επιχειρηματικές διαδικασίες και ροές εργασιών με ιδιωτικότητα, τηρώντας παράλληλα τα δεδομένα σε αντίστοιχα συστήματα αρχείου. Το πρότυπο επιτρέπει σε δύο ή περισσότερες μηχανές καταστάσεων να επιτυγχάνουν και να διατηρούν τη συνέπεια των δεδομένων και τη συνέχεια της ροής εργασίας χρησιμοποιώντας ένα δίκτυο ως κοινό πλαίσιο αναφοράς._ +- [Blast](https://blastapi.io/) - _μια πλατφόρμα API που παρέχει RPC/WSS API για το Ethereum Archive Mainnet και τα Testnets._ +- [Blockapps](https://blockapps.net/) - _υλοποίηση του πρωτοκόλλου Enterprise Ethereum, των εργαλείων και των API που αποτελούν την πλατφόρμα STRATO_ +- [Chainlens](https://www.chainlens.com/) - _Πλατφόρμα δεδομένων και ανάλυσης SaaS και blockchain on-prem από την Web3 Labs_ +- [Chainstack](https://chainstack.com/) - _υποδομή Ethereum mainnet και testnet που φιλοξενείται σε δημόσια & απομονωμένα cloud πελατών_ +- [ConsenSys](https://consensys.io/) - _παρέχει μια σειρά προϊόντων και εργαλείων για την ανάπτυξη στο Ethereum, καθώς και συμβουλευτικές υπηρεσίες και υπηρεσίες προσαρμοσμένης ανάπτυξης_ +- [Crossmint](http://crossmint.com/) _ - πλατφόρμα ανάπτυξης web3 εταιρικού επιπέδου για την ανάπτυξη έξυπνων συμβολαίων, την ενεργοποίηση πληρωμών με πιστωτική κάρτα και διασυνοριακών πληρωμών, καθώς και τη χρήση API για τη δημιουργία, διανομή, πώληση, αποθήκευση και επεξεργασία NFT._ +- [Envision Blockchain](https://envisionblockchain.com/) - _παρέχει συμβουλευτικές και αναπτυξιακές υπηρεσίες με επίκεντρο τις επιχειρήσεις, με εξειδίκευση στο Ethereum Mainnet_ +- [EY OpsChain](https://blockchain.ey.com/products/contract-manager) - _παρέχει μια ροή εργασίας προμηθειών εκδίδοντας RFQ, συμβόλαια, παραγγελίες αγοράς και τιμολόγια σε όλο το δίκτυο αξιόπιστων επιχειρηματικών συνεργατών σας_ +- [Hyperledger Besu](https://www.hyperledger.org/use/besu) - _ένα πρόγραμμα-πελάτης ανοιχτού κώδικα Ethereum με επίκεντρο τις επιχειρήσεις, που αναπτύχθηκε με την άδεια Apache 2.0 και είναι γραμμένο σε Java_ +- [Infura](https://infura.io/) - _κλιμακωτή πρόσβαση API στα δίκτυα Ethereum και IPFS_ +- [Kaleido](https://kaleido.io/) - _μια πλατφόρμα ανάπτυξης που εστιάζει σε επιχειρήσεις και προσφέρει απλοποιημένες εφαρμογές blockchain και ψηφιακών περιουσιακών στοιχείων_ +- [Moralis](http://moralis.io/) - _API και κόμβοι εταιρικού επιπέδου με πιστοποίηση SOC2 τύπου 2_ +- [Nightfall](https://github.com/EYBlockchain/nightfall_3) - _μια εφαρμογή για τη μεταφορά εφαρμογών ERC20, ERC721 και ERC1155 σε περιβάλλον Zero Knowledge, χρησιμοποιώντας ένα Optimistic Rollup, από την Ernst & Young_ +- [NodeReal](https://nodereal.io/) - _παρέχει επεκτάσιμη υποδομή blockchain και πάροχο υπηρεσιών API για το οικοσύστημα Web3_ +- [QuickNode](https://www.quicknode.com/) - _παρέχει αξιόπιστους και γρήγορους κόμβους με API υψηλού επιπέδου όπως NFT API, Token API κ.λπ., ενώ παράλληλα παρέχει μια ενοποιημένη σουίτα προϊόντων και λύσεις εταιρικού επιπέδου_ +- [Tenderly](https://tenderly.co) - _μια πλατφόρμα ανάπτυξης Web3 που παρέχει δομικά στοιχεία εντοπισμού σφαλμάτων, παρατηρησιμότητας και υποδομής για την ανάπτυξη, τον έλεγχο, την παρακολούθηση και τη λειτουργία έξυπνων συμβολαίων_ +- [Unibright](https://unibright.io/) - _μια ομάδα ειδικών σε blockchain, αρχιτεκτόνων, προγραμματιστών και συμβούλων με 20+ χρόνια εμπειρίας σε επιχειρηματικές διαδικασίες και ενοποιήσεις_ +- [Zeeve](https://www.zeeve.io/) - _παρέχει μια σειρά προϊόντων και εργαλείων για την ανάπτυξη στο Ethereum, καθώς και υποδομές και API για εφαρμογές Web3 για επιχειρήσεις._ + +## Εταιρικές εφαρμογές που βασίζονται στο Ethereum {#enterprise-applications-on-ethereum} + +Ακολουθούν ορισμένες από τις εταιρικές εφαρμογές που έχουν κατασκευαστεί πάνω στο δημόσιο Ethereum Mainnet και τα L2 από και για παραδοσιακές εταιρείες που δε βασίζονται στο blockchain. ### Πληρωμές {#payments} -- [Brave Browser](https://basicattentiontoken.org/) — _πληρώνει τους χρήστες για την προσοχή τους στις διαφημίσεις και οι χρήστες μπορούν να πληρώνουν τους εκδότες για να τους στηρίζουν μέσω του Basic Attention Token_ -- [Πόλη του Λουγκάνο, Ελβετία](https://bitcoinsuisse.com/news/city-of-lugano-accepts-crypto-payments) — _πληρωμή φόρων και άλλων δημοτικών υπηρεσιών_ -- [EthereumAds](https://ethereumads.com/) — _Επιτρέπει τους χειριστές των ιστοτόπων να πωλούν διαφημιστικό χώρο και να πληρώνονται μέσω του Ethereum_ -- [hCaptcha](https://www.hcaptcha.com/) — _σύστημα πρόληψης αυτόματου λογισμικού CAPTCHA που πληρώνει τους χειριστές ιστοτόπων για την εργασία που διενεργείται από χρήστες για την επισήμανση δεδομένων για μηχανική μάθηση. Αναπτύσσεται τώρα από την Cloudflare_ -- [Opera MiniPay](https://www.opera.com/products/minipay) — _κάνει τις πληρωμές με κινητά πιο προσιτές και ασφαλείς για ανθρώπους που βρίσκονται στην Αφρική με μη εποπτικό (non-custodial) πορτοφόλι και αξιοποιεί αριθμούς τηλεφώνου για εύκολες συναλλαγές_ -- [Roxpay](https://www.roxpay.ch/) — _αυτοματοποιεί την τιμολόγηση και την πληρωμή περιουσιακών στοιχείων με «κοστολόγηση ανάλογη της χρήσης»_ -- [Θύρα ψηφιακών νομισμάτων SAP](https://community.sap.com/t5/technology-blogs-by-sap/cross-border-payments-made-easy-with-digital-money-experience-the-future/ba-p/13560384) — _διασυνοριακές πληρωμές με κρυπτονομίσματα σταθερής αξίας_ -- [Toku](https://www.toku.com/) — _μισθοδοσία, διαχείριση παραχώρησης κρυπτοπαραστατικών, φορολογική συμμόρφωση, τοπική απασχόληση, παροχές & κατανεμημένες λύσεις HR_ -- [Xerof](https://www.xerof.com/) — _διευκολύνει τις γρήγορες και φτηνές διεθνείς (διασυνοριακές) πληρωμές B2B_ +- [Brave Browser](https://basicattentiontoken.org/) - _πληρώνει τους χρήστες για την προσοχή τους στις διαφημίσεις και οι χρήστες μπορούν να πληρώσουν τους εκδότες για να τους υποστηρίξουν, μέσω του Basic Attention Token_ +- [EthereumAds](https://ethereumads.com/) - _επιτρέπει στους διαχειριστές ιστοσελίδων να πωλούν διαφημιστικό χώρο και να πληρώνονται μέσω Ethereum_ +- [hCaptcha](https://www.hcaptcha.com/) - _Σύστημα CAPTCHA για την πρόληψη των bot, το οποίο πληρώνει τους χειριστές ιστοσελίδων για την εργασία που κάνουν οι χρήστες για την επισήμανση δεδομένων για μηχανική μάθηση. Τώρα αναπτύσσεται από την Cloudflare_ +- [Opera MiniPay](https://www.opera.com/products/minipay) - _καθιστά τις πληρωμές μέσω κινητού πιο προσβάσιμες και ασφαλείς για τους ανθρώπους στην Αφρική με πορτοφόλι που δεν απαιτεί την κατοχή χρημάτων και αξιοποιεί τους αριθμούς τηλεφώνου για εύκολες συναλλαγές_ +- [Roxpay](https://www.roxpay.ch/) - _αυτοματοποιεί την τιμολόγηση και τις πληρωμές περιουσιακών στοιχείων με πληρωμή ανά χρήση_ +- [Κόμβος Ψηφιακού Νομίσματος SAP](https://community.sap.com/t5/technology-blogs-by-sap/cross-border-payments-made-easy-with-digital-money-experience-the-future/ba-p/13560384) - _διασυνοριακές πληρωμές με σταθερά κρυπτονομίσματα_ +- [Toku](https://www.toku.com/) - _μισθοδοσία, διαχείριση επιχορηγήσεων token, φορολογική συμμόρφωση, τοπική απασχόληση, παροχές και κατανεμημένες λύσεις HR_ +- [Xerof](https://www.xerof.com/) - _διευκολύνει γρήγορες και οικονομικές διεθνείς (διασυνοριακές) πληρωμές B2B_ ### Οικονομικά {#finance} -- [ABN AMRO](https://tokeny.com/tokeny-fuels-abn-amro-bank-in-tokenizing-green-bonds-on-polygon/) - _με την Tokeny, δημιουργία κρυπτοπαραστατικών από πράσινα ομόλογα_ -- [Crowdz](https://crowdz.io/) - _πλατφόρμα χρηματοδότησης και πρακτόρευσης τιμολογίων/απαιτήσεων_ -- [Mata Capital](https://consensys.io/blockchain-use-cases/finance/mata-capital) - _δημιουργία κρυπτοπαραστατικών από κτηματομεσιτικές επενδύσεις_ +- [ABN AMRO](https://tokeny.com/tokeny-fuels-abn-amro-bank-in-tokenizing-green-bonds-on-polygon/) - _με την Tokeny, κρυπτογραφημένα πράσινα ομόλογα._ +- [Anvil](https://anvil.xyz/) - _ένα σύστημα έξυπνων συμβολαίων βασισμένο στο Ethereum που διαχειρίζεται εξασφαλίσεις και εκδίδει πλήρως εξασφαλισμένες πιστώσεις._ +- [Mata Capital](https://consensys.io/blockchain-use-cases/finance/mata-capital) - _κρυπτογράφηση επενδύσεων ακινήτων._ - [Obligate](https://www.obligate.com/) — _ρυθμισμένα και KYC ομόλογα και εμπορικά χρεόγραφα εντός αλυσίδας_ -- [Siemens](https://press.siemens.com/global/en/pressrelease/siemens-issues-first-digital-bond-blockchain) — _έκδοση ομολόγων_ -- [Sila](https://silamoney.com/) — _τραπεζικές και ACH πληρωμές ως IaaS, με τη χρήση νομίσματος σταθερής αξίας_ -- [Societe Generale FORGE](https://www.sgforge.com/product/bonds/) — _έκδοση ομολόγων_ -- [Taurus](https://www.taurushq.com/) — _εκδίδει χρεόγραφα με τη μορφή κρυπτοπαραστατικών_ +- [Siemens](https://press.siemens.com/global/en/pressrelease/siemens-remains-pioneer-another-digital-bond-successfully-issued-blockchain) — _έκδοση ομολόγων_ +- [Sila](https://silamoney.com/) - _banking και ACH payments infrastructure-as-a-service, χρησιμοποιώντας ένα stablecoin._ +- [Societe Generale FORGE](https://www.sgforge.com/product/bonds/) - _έκδοση ομολόγων._ +- [Taurus](https://www.taurushq.com/) - _εκδίδει κρυπτογραφημένες κινητές αξίες._ +- [Visa Tokenized Asset Plaform](https://developer.visa.com/capabilities/visa-tokenized-asset-platform) - _παρέχει τα εργαλεία και την υποδομή για τις τράπεζες να κρυπτογραφούν τα fiat νομίσματα σε δίκτυα blockchain._ ### Δημιουργία κρυπτονομισμάτων {#tokenization} -- [AgroToken](https://agrotoken.io/en/) — _μετατροπή και εμπορία γεωργικών προϊόντων σε κρυπτοπαραστατικά_ -- [Bitbond](https://www.bitbond.com/) — _βελτιώνει την έκδοση, τη ρύθμιση και τη φύλαξη χρηματοοικονομικών περιουσιακών στοιχείων μέσω της μετατροπής σε κρυπτοπαραστατικά_ -- [Blocksquare](https://blocksquare.io/) — _υποδομή μετατροπής ακινήτων σε κρυπτοπαραστατικά_ -- [Centrifuge](https://centrifuge.io/) — _Χρηματοδότηση απαιτήσεων με τη μορφή κρυπτοπαραστατικών, χρέη και περιουσιακά στοιχεία_ -- [Clearmatics](https://www.clearmatics.com) — _αναπτύσσει πλατφόρμες αποκεντρωμένων δικτύων για ανταλλαγή αξιών με τη μορφή κρυπτοπαραστατικών μεταξύ ομοτίμων (p2p)_ -- [dClimate](https://www.dclimate.net/) — _αποκεντρωμένο οικοσύστημα κλιματικών πληροφοριών_ -- [Fabrica](https://www.fabrica.land/) — _μια πλατφόρμα για την ψηφιοποίηση ακίνητων αξιών, που καθιστά δυνατό τον δανεισμό DeFi και την εμπορία ιδιοκτησίας_ -- [Fasset](https://www.fasset.com/) — _μια πλατφόρμα για τη στήριξη των βιώσιμων υποδομών_ -- [Nori](https://nori.com/) — _υποδομές ανοικτής πηγής της αγοράς που καθιστούν δυνατά τα έργα αφαίρεσης άνθρακα για τη μέτρηση και τη χρηματική αποτίμηση των δραστηριοτήτων τους_ -- [Propy](https://propy.com/) — _μια πλατφόρμα για την αυτοματοποίηση των συναλλαγών οικιστικών ακινήτων με έξυπνα συμβόλαια_ -- [RealT](https://realt.co/) — _επενδυτές σε ολόκληρο τον κόσμο μπορούν να συμμετάσχουν στην αγορά ακινήτων των ΗΠΑ με πλήρως συμμορφωμένη, κλασματική ιδιοκτησία με τη μορφή κρυπτοπαραστατικών_ -- [Rubey](https://www.rubey.be/) — _μια πλατφόρμα που μετατρέπει σε κρυπτοπαραστατικά τέχνη υψηλής αξίας ώστε να την κάνει προσιτή σε μικροεπενδυτές_ -- [Swarm](https://swarm.com/) — _μια πλατφόρμα που επικεντρώνεται στην ψηφιοποίηση και την εμπορία πραγματικών περιουσιακών στοιχείων με θεσμικό τρόπο_ -- [Thallo](https://www.thallo.io/) — _μια πλατφόρμα για την ενσωμάτωση των ψηφιακών πιστώσεων άνθρακα στις εμπορικές συναλλαγές_ -- [Tokenchampions](https://tokenchampions.com/) — _μετατρέπει σε κρυπτοπαραστατικά δικαιώματα εικόνων Ευρωπαίων ποδοσφαιριστών_ - -### Συμβολαιογραφία στοιχείων {#notarization-of-data} - -- [ANSA](https://www.ansa.it/english/news/science_tecnology/2020/04/06/ansa-using-blockchain-to-help-readers_af820b4f-0947-439b-843e-52e114f53318.html) — _Ιταλικό ειδησεογραφικό πρακτορείο που αγωνίζεται κατά των ψευδών ειδήσεων και επιτρέπει στους αναγνώστες να επαληθεύουν την προέλευση των ειδήσεων καταγράφοντάς τις στο κεντρικό δίκτυο_ -- [Breitling](https://www.coindesk.com/breitling-arianee-all-new-watches-ethereum) — _καταγράφει την προέλευση και το ιστορικό επισκευών ρολογιών στο Ethereum_ -- [BRØK](https://www.xn--brk-1na.no/) — _μια πλατφόρμα για μη εισηγμένες εταιρείες στο κοινό που παρέχεται από τη νορβηγική κυβέρνηση_ -- [Certifaction](https://certifaction.com/) — _νόμιμα έγκυρες ηλεκτρονικές υπογραφές (eSignatures) με προστασία της ιδιωτικότητας εκ κατασκευής_ -- [EthSign](https://ethsign.xyz/) — _καταγράφει υπογεγραμμένα ηλεκτρονικά έγγραφα στην κρυπτοαλυσίδα Ethereum_ -- [Stacktical](https://stacktical.com/) — _καθιστά δυνατή την ανάπτυξη λογισμικού, την ψηφιακή έκδοση και υπογραφή συμφωνιών επιπέδου υπηρεσιών (SLA) με εγγενείς ικανότητες μεσεγγύησης_ -- [Verizon](https://decrypt.co/46745/verizon-news-press-releases-ethereum-full-transparency) — _καταγράφει δελτία τύπου στο Ethereum ώστε να διασφαλίζει την εταιρική λογοδοσία και εμπιστοσύνη_ -- [WolfTown](https://www.mef.net/edge-view-blog/automated-secure-timely-sla-reporting-is-finally-a-reality/) — _από την MEF και την Edge Management αυτοματοποιεί τις αναφορές SLA μεταξύ φορέων τηλεπικοινωνίας_ +- [AgroToken](https://agrotoken.io/en/) - _κρυπτογράφηση και εμπορία αγροτικών προϊόντων._ +- [Bitbond](https://www.bitbond.com/) - _βελτιώνει την έκδοση, τον διακανονισμό και τη φύλαξη χρηματοοικονομικών περιουσιακών στοιχείων με κρυπτογράφηση._ +- [Blocksquare](https://blocksquare.io/) - _υποδομή κρυπτογράφησης για ακίνητα._ +- [Centrifuge](https://centrifuge.io/) - _κρυπτογραφημένη χρηματοδότηση απαιτήσεων, χρέους και περιουσιακών στοιχείων._ +- [Clearmatics](https://www.clearmatics.com) - _δημιουργεί αποκεντρωμένες πλατφόρμες δικτύου για την ανταλλαγή κρυπτογραφημένης αξίας p2p._ +- [dClimate](https://www.dclimate.net/) - _αποκεντρωμένο οικοσύστημα πληροφοριών για το κλίμα._ +- [Fabrica](https://www.fabrica.land/) - _μια πλατφόρμα για την ψηφιοποίηση περιουσιακών στοιχείων ακινήτων, επιτρέποντας δανεισμό DeFi και εμπορία ακινήτων._ +- [Propy](https://propy.com/) - _μια πλατφόρμα για την αυτοματοποίηση συναλλαγών οικιστικών ακινήτων με έξυπνα συμβόλαια._ +- [RealT](https://realt.co/) - _επενδυτές σε όλο τον κόσμο μπορούν να αγοράσουν στην αγορά ακινήτων των ΗΠΑ μέσω πλήρως συμβατής, κλασματικής, κρυπτογραφημένης ιδιοκτησίας._ +- [Rubey](https://www.rubey.be/) - _μια πλατφόρμα που κρυπτογραφεί έργα τέχνης υψηλής ποιότητας για να τα καταστήσει προσβάσιμα σε ιδιώτες επενδυτές._ +- [Swarm](https://swarm.com/) - _μια πλατφόρμα που εστιάζει στην ψηφιοποίηση και εμπορία πραγματικών περιουσιακών στοιχείων με ρυθμιστική συμμόρφωση._ +- [Thallo](https://www.thallo.io/) - _μια πλατφόρμα για την ενσωμάτωση ψηφιακών πιστώσεων άνθρακα σε επιχειρηματικές συναλλαγές._ +- [Tokenchampions](https://tokenchampions.com/) - _ψηφιοποιεί τα δικαιώματα εικόνας Ευρωπαίων ποδοσφαιριστών._ + +### Συμβολαιογραφική επικύρωση δεδομένων {#notarization-of-data} + +- [ANSA](https://www.ansa.it/english/news/science_tecnology/2020/04/06/ansa-using-blockchain-to-help-readers_af820b4f-0947-439b-843e-52e114f53318.html) - _Ιταλικό πρακτορείο ειδήσεων καταπολεμά τα ψεύτικα νέα και επιτρέπει στους αναγνώστες να επαληθεύουν την προέλευση των ειδήσεων καταγράφοντάς τα στο Mainnet._ +- [Breitling](https://www.breitling.com/us-en/about/digital-passport/) — _καταγράφει την προέλευση και το ιστορικό επισκευών ρολογιών στο Ethereum_ +- [BRØK](https://www.xn--brk-1na.no/) - _μια πλατφόρμα πινάκων κεφαλαίων για μη εισηγμένες εταιρείες στο κοινό, που παρέχεται από την Κυβέρνηση της Νορβηγίας._ +- [Certifaction](https://certifaction.com/) - _νομικά έγκυρες ηλεκτρονικές υπογραφές με ιδιωτικότητα εκ σχεδιασμού._ +- [EthSign](https://ethsign.xyz/) - _καταγράφει υπογεγραμμένα ηλεκτρονικά έγγραφα στο blockchain του Ethereum._ +- [Stacktical](https://stacktical.com/) - _επιτρέπει την ανάπτυξη λογισμικού, την ψηφιακή έκδοση και την ψηφιακή υπογραφή Συμφωνιών Επιπέδου Υπηρεσιών (SLA) με εγγενείς δυνατότητες μεσεγγύησης._ +- [Verizon Full Transparency](https://www.verizon.com/about/news/transparency-technology) - _καταγράφει δελτία τύπου για να διασφαλίσει την εταιρική λογοδοσία και εμπιστοσύνη._ +- [Verify](https://www.verifymedia.com/) - _από την Fox Corporation αποθηκεύει κατακερματισμούς περιεχομένου πολυμέσων σε ένα Layer 2 για τη διευκόλυνση της αδειοδότησης περιεχομένου και την καταπολέμηση των deepfakes._ +- [WolfTown](https://www.mef.net/edge-view-blog/automated-secure-timely-sla-reporting-is-finally-a-reality/) - _από τη MEF και τη Sage Management αυτοματοποιεί την αναφορά Συμφωνιών Επιπέδου Υπηρεσιών μεταξύ τηλεπικοινωνιακών φορέων._ ### Αλυσίδα εφοδιασμού {#supply-chain} -- [Birra Peroni](https://www.ey.com/en_gl/news/2021/05/birra-peroni-is-the-first-industrial-organization-to-mint-unique-non-fungible-tokens-using-ey-opschain-traceability) — _κόβει NFT για κάθε παρτίδα μπύρας, επιτρέποντας μεγαλύτερη προβολή και αποδοτικότητα σε ολόκληρη την αλυσίδα εφοδιασμού της_ -- [CargoX](https://cargox.io/) — _ηλεκτρονικές φορτωτικές και πάροχος διαβίβασης εγγράφων για αποστολή_ -- [Circularize](https://www.circularise.com/) — _μια δια τερματική λύση ιχνηλασιμότητας για τις πρώτες ύλες που γίνονται προϊόντα_ -- [EY OpsChain Contract Manager](https://blockchain.ey.com/products/contract-manager) — _επιτρέπει στις εταιρείες να συμμετέχουν στη ροή εργασιών που σχετίζονται με τη σύναψη συμβάσεων μέσω της έκδοσης RFQ, συμβάσεων, παραγγελιών και τιμολογίων σε ένα δίκτυο επιχειρηματικών εταίρων_ -- [Minespider](https://www.minespider.com/) — _ιχνηλασία και προέλευση αλυσίδων τροφοδοσίας και ιχνηλασία εκπομπών CO2_ -- [Morpheus.network](https://morpheus.network/) — _πλατφόρμα αυτοματοποίησης αλυσίδων τροφοδοσίας_ -- [StaTwig](https://statwig.com/) — _λειτουργίες των αλυσίδων τροφοδοσίας_ -- [TradeTrust](https://www.tradetrust.io/) — _επαληθεύει ηλεκτρονικές φορτωτικές (eBLs) για διεθνείς μεταφορές_ -- [Transmute](https://transmute.industries/) — _πλατφόρμα ανταλλαγής δεδομένων για παγκόσμιο εμπόριο· Υποστηρίζει συναλλαγές με αποκεντρωμένη ταυτότητα στο Ethereum_ +- [CargoX](https://cargox.io/) - _πάροχος ηλεκτρονικών φορτωτικών και μεταφοράς εγγράφων για ναυτιλία._ +- [Circularize](https://www.circularise.com/) - _μια λύση ιχνηλασιμότητας από άκρο σε άκρο για πρώτες ύλες που μετατρέπονται σε προϊόντα._ +- [EY OpsChain Contract Manager](https://blockchain.ey.com/) — _επιτρέπει στις εταιρείες να συμμετέχουν στη ροή εργασιών που σχετίζονται με τη σύναψη συμβάσεων μέσω της έκδοσης RFQ, συμβάσεων, παραγγελιών και τιμολογίων σε ένα δίκτυο επιχειρηματικών εταίρων_ +- [Το Global Battery Passport project](https://dlt.mobi/gbp-mvp/) _χρησιμοποιεί DIDs αγκυροβολημένα στο Ethereum μέσω του Integrated Trust Network της MOBI για την παρακολούθηση μπαταριών EV, για συμμόρφωση με τους κανονισμούς της ΕΕ._ +- [Minespider](https://www.minespider.com/) - _παρακολούθηση αλυσίδας εφοδιασμού και προέλευσης, και παρακολούθηση εκπομπών CO2._ +- [Morpheus.network](https://morpheus.network/) - _πλατφόρμα αυτοματοποίησης αλυσίδας εφοδιασμού._ +- [StaTwig](https://statwig.com/) - _λειτουργίες αλυσίδας εφοδιασμού._ +- [TradeTrust](https://www.tradetrust.io/) - _επαληθεύει ηλεκτρονικές φορτωτικές (eBLs) για διεθνείς μεταφορές._ +- [Tradeverifyd](https://tradeverifyd.com/) - _πλατφόρμα ανταλλαγής δεδομένων για το παγκόσμιο εμπόριο. Υποστηρίζει συναλλαγές με Αποκεντρωμένη Ταυτότητα στο Ethereum._ ### Ασφάλιση {#insurance} -- [Arbol](https://www.arbolmarket.com/) — _παραμετρική ασφάλιση για την κάλυψη κινδύνων που σχετίζονται με τις καιρικές συνθήκες_ -- [Etherisc](https://etherisc.com/) — _αποκεντρωμένη ασφάλιση μιας ποικιλίας κινδύνων_ -- [Nayms](https://www.nayms.com/) — _ψηφιακός χώρος δημιουργίας ασφαλιστικών προγραμμάτων, άντλησης και εμπορίας κεφαλαίων, εγγραφής κινδύνου και οδηγών πληρωμής για συναλλαγές και αξιώσεις, που αναπτύσσεται με την AON_ +- [Arbol](https://www.arbolmarket.com/) - _παραμετρική ασφάλιση για την κάλυψη κινδύνων που σχετίζονται με τον καιρό._ +- [Etherisc](https://etherisc.com/) - _αποκεντρωμένη ασφάλιση για ποικίλους κινδύνους._ +- [Nayms](https://www.nayms.com/) - _ένας ψηφιακός χώρος για τη δημιουργία ασφαλιστικών προγραμμάτων, την αύξηση και εμπορία κεφαλαίων, την ανάληψη κινδύνου, και τις ράγες πληρωμής για ασφάλιστρα και συναλλαγές απαιτήσεων, χτισμένος με την AON._ -### Ταυτότητα, διαπιστεύσεις και πιστοποιήσεις {#credentials} +### Ταυτότητα, διαπιστευτήρια και πιστοποιήσεις {#credentials} -- [BCdiploma](https://www.bcdiploma.com/) — _ψηφιοποιεί και επαληθεύει διπλώματα, πιστοποιήσεις και μικροδιαπιστεύσεις_ -- [Hyland Credentials](https://www.hylandcredentials.com) — _ψηφιακά διπλώματα και άλλες εκπαιδευτικές διαπιστεύσεις, άδειες και πιστοποιήσεις_ -- [Palau Digital Residency Program](https://rns.id/) — _προσφέρει στους παγκόσμιους πολίτες τη δυνατότητα να έχουν νόμιμη ταυτότητα Palau κρατικής έκδοσης_ +- [BCdiploma](https://www.bcdiploma.com/) - _ψηφιοποιεί και επαληθεύει διπλώματα, πιστοποιητικά και micro-credentials._ +- [Bhutan National Digital Identity](https://www.bhutanndi.com/) - _ένα θεμέλιο για την ψηφιακή οικονομία του Μπουτάν, διευκολύνοντας τις αξιόπιστες αλληλεπιδράσεις μεταξύ ατόμων και οργανισμών._ +- [Hyland Credentials](https://www.hylandcredentials.com) - _ψηφιακά διπλώματα και άλλα εκπαιδευτικά διαπιστευτήρια, άδειες και πιστοποιητικά._ +- [Palau Digital Residency Program](https://rns.id/) - _προσφέρει σε παγκόσμιους πολίτες τη δυνατότητα να έχουν ένα νόμιμο αναγνωριστικό που εκδίδεται από την κυβέρνηση του Παλάου._ +- [Το QuarkID](https://quarkid.org/) _είναι ένα πρωτόκολλο αυτοκυρίαρχης ταυτότητας για τη διαχείριση βασικών προσωπικών εγγράφων, όπως πιστοποιητικά γέννησης και γάμου, ακαδημαϊκά διαπιστευτήρια και αποδείξεις εισοδήματος, που αναπτύχθηκε από την κυβέρνηση του Μπουένος Άιρες για χρήση στην Αργεντινή και άλλες χώρες της Νότιας Αμερικής._ - [Spherity](https://www.spherity.com/) — _προσφέρει λύσεις διαχείριση ψηφιακής ταυτότητας για την καθιέρωση της ψηφιακής εμπιστοσύνης στα οικοσυστήματα με επικέντρωση στις αποκεντρωμένες ταυτότητες και τις επαληθεύσιμες διαπιστεύσεις_ - [Zug Digital ID](https://ezug.ch/en/) — _είναι ένα σύστημα ταυτότητας βάσει κρυπτοαλυσίδας στην Ελβετία που παρέχουν στους κατοίκους ψηφιακή πρόσβαση σε κρατικές υπηρεσίες και υποστηρίζει λειτουργικότητες όπως ο ηλεκτρονικός δανεισμός ποδηλάτου και δημοτική ψηφοφορία_ ### Ψυχαγωγία, NFT και Πίστη -- [Adidas Virtual Gear](https://www.adidas.com/metaverse) — _μια εικονική συλλογή εξοπλισμού NFT_ -- [Το Sandbox του Βρετανικού Μουσείου](https://decrypt.co/150405/british-museum-enter-metaverse-via-sandbox) — _μια συλλογή NFT_ -- [Fruitlab](https://fruitlab.com/) — _μια πλατφόρμα στην οποία οι gamer μπορούν να κερδίζουν βλέποντας, ανταλλάσσοντας και παίζοντας διαδικτυακά παιχνίδια_ +- [Το British Museum's Sandbox](https://decrypt.co/150405/british-museum-enter-metaverse-via-sandbox) - _μια συλλογή NFT._ +- [Fruitlab](https://fruitlab.com/) - _μια πλατφόρμα για gamers για να κερδίζουν από την παρακολούθηση, κοινή χρήση και παιχνίδι online παιχνιδιών._ +- [Lamborghini](https://venturebeat.com/games/lamborghini-and-animocas-motorverse-tap-base-blockchain-for-in-game-assets/) - _δημιουργεί in-game assets για το Web3 παιχνίδι αγώνων Motorverse της Animoca._ - [Nike Swoosh](https://www.swoosh.nike/) — _μια πλατφόρμα NFT_ - [Sothbebys Metaverse](https://metaverse.sothebys.com/) — _μια ψηφιακή αγορά τέχνης NFT από τη Sothebys_ +- [Soneium](https://soneium.org/) - _ένα Layer 2 από τη Sony για την υποστήριξη παιχνιδιών Web3 και NFT._ -Εάν θέλετε να κάνετε προσθήκη σε αυτήν τη λίστα, παρακαλώ δείτε τις [οδηγίες συνεισφοράς](/contributing/). +Αν θέλετε να προσθέσετε κάτι σε αυτήν τη λίστα, ανατρέξτε στις [οδηγίες για τη συνεισφορά](/contributing/). diff --git a/public/content/translations/el/glossary/index.md b/public/content/translations/el/glossary/index.md index e54f781a603..902ca28dbdc 100644 --- a/public/content/translations/el/glossary/index.md +++ b/public/content/translations/el/glossary/index.md @@ -474,6 +474,8 @@ lang: el + + ## Ζ {#section-z} @@ -488,7 +490,7 @@ lang: el ## Πηγές {#sources} -_Παρέχεται εν μέρει από το [Mastering Ethereum](https://github.com/ethereumbook/ethereumbook) (Γίνετε εξπέρ του Ethereum) από τους [Ανδρέα M. Αντωνόπουλο και Gavin Wood](https://ethereumbook.info) υπό την CC-BY-SA_ +_Παρέχεται εν μέρει από το [Mastering Ethereum](https://github.com/ethereumbook/ethereumbook) από τους [Ανδρέα M. Αντωνόπουλο και Gavin Wood](https://ethereumbook.info) υπό την CC-BY-SA_ 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 index 1abea55f52c..4b3ae8e6bfa 100644 --- a/public/content/translations/el/guides/how-to-swap-tokens/index.md +++ b/public/content/translations/el/guides/how-to-swap-tokens/index.md @@ -12,7 +12,7 @@ lang: el **Προαπαιτούμενα:** -- Κατοχή [πορτοφολιού κρυπτονομισμάτων](/glossary/#wallet), δείτε τον οδηγό: [Πώς να «δημιουργήσετε» ένα λογαριασμό Ethereum](/guides/how-to-create-an-ethereum-account/). +- Έχετε [πορτοφόλι κρυπτονομισμάτων;](/glossary/#wallet) Αν όχι, ακολουθήστε αυτόν τον οδηγό: [Πώς να δημιουργήσετε έναν λογαριασμό Ethereum](/guides/how-to-create-an-ethereum-account/). - Προσθήκη κεφαλαίων στο πορτοφόλι σας. ## 1. Συνδέστε το πορτοφόλι σας με το αποκεντρωμένο ανταλλακτήριο (DEX) της επιλογής σας diff --git a/public/content/translations/el/history/index.md b/public/content/translations/el/history/index.md index 72ee60de9c0..1acbdbd37ba 100644 --- a/public/content/translations/el/history/index.md +++ b/public/content/translations/el/history/index.md @@ -72,15 +72,15 @@ sidebarDepth: 1 ## 2025 {#2025} -### Prague-Electra ("Pectra", _σε εξέλιξη_) {#pectra} +### Prague-Electra ("Pectra") {#pectra} -Η αναβάθμιση Πράγα-Electra ("Pectra") περιλαμβάνει αρκετές βελτιώσεις στο πρωτόκολλο Ethereum που στοχεύουν στη βελτίωση της εμπειρίας για όλους τους χρήστες, τα δίκτυα επιπέδου 2, τους χρήστες με δέσμευση κεφαλαίου και τους διαχειριστές κόμβων. +Η αναβάθμιση Prague-Electra ("Pectra") περιελάμβανε αρκετές βελτιώσεις στο πρωτόκολλο Ethereum με στόχο τη βελτίωση της εμπειρίας για όλους τους χρήστες, τα δίκτυα επιπέδου 2, τους χρήστες με δεσμευμένο κεφάλαιο και τους χειριστές κόμβων. -Η δέσμευση κεφαλαίου αναβαθμίζεται με λογαριασμούς επικυρωτών με σύνθετο τόκο και βελτιωμένο έλεγχο των δεσμευμένων κεφαλαίων χρησιμοποιώντας τη διεύθυνση ανάληψης επιπέδου εκτέλεσης. Το EIP-7251 αυξάνει το μέγιστο αποτελεσματικό υπόλοιπο για έναν μόνο επικυρωτή σε 2048, βελτιώνοντας την κεφαλαιακή αποδοτικότητα για τους χρήστες με δέσμευση κεφαλαίου. Το EIP-7002 επιτρέπει σε έναν λογαριασμό επιπέδου εκτέλεσης να ενεργοποιεί με ασφάλεια ενέργειες επικυρωτή, συμπεριλαμβανομένης της εξόδου ή της ανάληψης τμημάτων των κεφαλαίων, βελτιώνοντας την εμπειρία για τους παίκτες με δέσμευση ETH, ενώ βοηθά στην ενίσχυση της λογοδοσίας για τους διαχειριστές κόμβων. +Η δέσμευση κεφαλαίων αναβαθμίστηκε με ανατοκισμό λογαριασμών επικύρωσης και βελτίωσε τον έλεγχο των δεσμευμένων κεφαλαίων χρησιμοποιώντας τη διεύθυνση εκτέλεσης ανάληψης. Το EIP-7251 αύξησε το μέγιστο αποτελεσματικό υπόλοιπο για έναν μόνο επικυρωτή σε 2048, βελτιώνοντας την κεφαλαιακή αποδοτικότητα για τους χρήστες με δέσμευση κεφαλαίου. Το EIP-7002 επέτρεψε σε έναν λογαριασμό επιπέδου εκτέλεσης να ενεργοποιεί με ασφάλεια ενέργειες επικυρωτή, συμπεριλαμβανομένης της εξόδου ή της ανάληψης τμημάτων των κεφαλαίων, βελτιώνοντας την εμπειρία για τους παίκτες με δέσμευση ETH, ενώ βοηθά στην ενίσχυση της λογοδοσίας για τους διαχειριστές κόμβων. -Άλλα μέρη της αναβάθμισης επικεντρώνονται στη βελτίωση της εμπειρίας για τους τακτικούς χρήστες. Το EIP-7702 εισάγει τη δυνατότητα ενός τακτικού λογαριασμού που δεν είναι έξυπνο συμβόλαιο ([EOA](/glossary/#eoa)) να εκτελεί κώδικα παρόμοιο με ένα έξυπνο συμβόλαιο. Αυτό ξεκλειδώνει απεριόριστες νέες λειτουργίες για τους παραδοσιακούς λογαριασμούς Ethereum, όπως ομαδοποίηση συναλλαγών, χορηγία gas, εναλλακτική αυθεντικοποίηση, προγραμματιζόμενοι έλεγχοι δαπανών, μηχανισμοί ανάκτησης λογαριασμού και άλλα. +Άλλα μέρη της αναβάθμισης επικεντρώθηκαν στη βελτίωση της εμπειρίας για τους τακτικούς χρήστες. Το EIP-7702 εισήγαγε τη δυνατότητα ενός τακτικού λογαριασμού που δεν είναι έξυπνο συμβόλαιο ([EOA](/glossary/#eoa)) να εκτελεί κώδικα παρόμοιο με ένα έξυπνο συμβόλαιο. Αυτό ξεκλείδωσε απεριόριστες νέες λειτουργίες για τους παραδοσιακούς λογαριασμούς Ethereum, όπως ομαδοποίηση συναλλαγών, χορηγία gas, εναλλακτική αυθεντικοποίηση, προγραμματιζόμενοι έλεγχοι δαπανών, μηχανισμοί ανάκτησης λογαριασμού και άλλα. diff --git a/public/content/translations/el/prediction-markets/index.md b/public/content/translations/el/prediction-markets/index.md new file mode 100644 index 00000000000..572208dfaa2 --- /dev/null +++ b/public/content/translations/el/prediction-markets/index.md @@ -0,0 +1,79 @@ +--- +title: Αγορές προβλέψεων +lang: el +template: use-cases +image: /images/use-cases/prediction-markets.png +sidebarDepth: 2 +summaryPoint1: Λάβετε οικονομικά κίνητρα για να δημιουργείτε ακριβείς προβλέψεις  +summaryPoint2: Υψηλής ποιότητας προβλέψεις για μελλοντικά γεγονότα +buttons: + - content: Μάθετε περισσότερα + toId: how-prediction-markets-work + - content: Εξερεύνηση apps + toId: εύρεση-αγοράς-πρόβλεψης + isSecondary: false +--- + +Οι αγορές πρόβλεψης χρησιμοποιούν τη σοφία του πλήθους και οικονομικά κίνητρα για την πρόβλεψη γεγονότων. Προσφέρουν ποικίλα, υψηλής ποιότητας δεδομένα και απέκτησαν δυναμική κατά τις εκλογές των ΗΠΑ το 2024 . + +## Πώς λειτουργούν οι αγορές πρόβλεψης {#how-prediction-markets-work} + +Σε αντίθεση με τις παραδοσιακές μεθόδους πρόβλεψης που βασίζονται σε γνώμες εμπειρογνωμόνων, περιορισμένα δείγματα ερευνών ή ιστορικά δεδομένα, οι αγορές πρόβλεψης αξιοποιούν **οικονομικά κίνητρα σε πραγματικό χρόνο** και τη σοφία του πλήθους για να δημιουργήσουν πληροφορίες που σχετίζονται με ένα συγκεκριμένο γεγονός — εκλογές, τιμές κρυπτονομισμάτων, αθλητικά αποτελέσματα — οτιδήποτε. + +Αυτό επιτρέπει σε οποιονδήποτε να σηματοδοτήσει υποστήριξη για ένα συγκεκριμένο αποτέλεσμα με μια οικονομική δέσμευση. +Ενεργοποιώντας στοιχήματα σε πραγματικά γεγονότα και προσαρμόζοντας τις τιμές καθώς προκύπτουν νέες πληροφορίες, οι ενημερωμένες γνώμες εκτιμώνται περισσότερο και η ακρίβεια μπορεί να ανταμειφθεί. + +Θεωρητικά, επειδή οι μπουκερς μπορούν να επωφεληθούν από το να είναι σωστοί, οι αγορές πρόβλεψης μπορούν να προβλέψουν αποτελέσματα με μεγάλη ακρίβεια. Οι αγορές πρόβλεψης που βασίζονται σε blockchain είναι ακόμα πιο συναρπαστικές, καθώς σχεδόν οποιοσδήποτε μπορεί να λάβει μέρος στην πρόβλεψη και να κερδίσει ανταμοιβές σε stablecoin ή κρυπτονομίσματα. + +## Γιατί αυτό έχει σημασία; {#why-does-this-matter} + +Σε αντίθεση με τις παραδοσιακές προβλέψεις, οι αγορές πρόβλεψης που βασίζονται σε blockchain είναι: + + + + + + + +Ακόμα και ως παρατηρητής της αγοράς, μπορείτε να αξιολογήσετε πολύτιμα δεδομένα που διαφορετικά θα ήταν μη διαθέσιμα. Σκεφτείτε το ως εξής: + +1. Οι προβλέψεις συνδέονται με ένα συγκεκριμένο γεγονός (π.χ. Θα αναπτυχθεί το Beam Chain έως το 2030;). +2. Οι συμμετέχοντες στην αγορά αγοράζουν και πωλούν μετοχές με βάση την εμπιστοσύνη τους σε οποιοδήποτε αποτέλεσμα. +3. Οι τιμές προσαρμόζονται καθώς περισσότεροι συμμετέχοντες διακυβεύουν τις πεποιθήσεις τους, αντανακλώντας πληροφορίες σε πραγματικό χρόνο. +4. Όποιος στοιχηματίζει σωστά κερδίζει αναλογικά με το ποσό που διακυβεύτηκε. +5. Οι παρατηρητές της αγοράς μπορούν να αξιοποιήσουν τα ανοιχτά δεδομένα για να ενημερώσουν την έρευνα ή τη συζήτηση. + +## Βρείτε μια αγορά πρόβλεψης {#find-a-prediction-market} + +Υπάρχουν αρκετές αγορές πρόβλεψης που βασίζονται στο Ethereum. Αυτές είναι μερικές από τις πιο γνωστές αγορές πρόβλεψης σήμερα. + + + + +

Να έχετε επίγνωση των κινδύνων

+

Στοιχηματίστε μόνο όσα μπορείτε να αντέξετε οικονομικά και να γνωρίζετε πιθανές εθιστικές συμπεριφορές.

+
+ +## Προκλήσεις & Κίνδυνοι {#challenges-and-risks} + +Οι αγορές πρόβλεψης στο blockchain αντιμετωπίζουν λίγες προκλήσεις που μπορούν να επηρεάσουν τη δικαιοσύνη, τη νομιμότητα και την ακρίβεια. + +⚠️ **Χειραγώγηση Αγοράς** – Πλούσιοι παίκτες μπορούν να διαστρεβλώσουν τα αποτελέσματα μέσω wash trading.\ +💧 **Θέματα Ρευστότητας** – Η χαμηλή συμμετοχή [ελάχιστη ρευστότητα](https://www.investopedia.com/terms/t/thinmarket.asp) μπορεί να μειώσει την αξιοπιστία της αγοράς.\ +🏛 **Ρυθμιστική Αβεβαιότητα** – Οι κυβερνήσεις έχουν επιβάλει περιορισμούς σε ορισμένες πλατφόρμες. + +Για να μετριάσουν αυτά τα ζητήματα, οι προγραμματιστές του Ethereum πειραματίζονται με λύσεις όπως η futarchy (διακυβέρνηση μέσω αγορών πρόβλεψης) και η αποκεντρωμένη επαλήθευση ταυτότητας. + +## Πειραματισμός με αγορές πρόβλεψης {#experimenting-with-prediction-markets} + +Οι αγορές πρόβλεψης αναδιαμορφώνουν τη λήψη αποφάσεων στην ψηφιακή εποχή. Αξιοποιώντας το Ethereum, προσφέρουν **δίκαιους, ανοιχτούς και ανταποδοτικούς τρόπους πρόβλεψης του μέλλοντος**. + +Υπάρχουν πολλοί τρόποι χρήσης εργαλείων πρόβλεψης εκτός του οικονομικού κέρδους. Για παράδειγμα, σε μια Πρόταση Βελτίωσης του [DevCon](https://forum.devcon.org/t/futarchy-decision-markets-for-deciding-next-devcon/5305) (DIP) προτάθηκε στους διοργανωτές του DevCon να χρησιμοποιήσουν αγορές πρόβλεψης για να προβλέψουν την προσέλευση για μελλοντικές εκδηλώσεις. + +Αυτό θα βοηθούσε τους διοργανωτές να καθορίσουν ποια τοποθεσία θα οδηγούσε στη μεγαλύτερη εκδήλωση, σε σύγκριση με ποια τοποθεσία θα οδηγούσε στην πιο διεθνώς προσβάσιμη. Τα οφέλη του σημαίνουν ότι οι διοργανωτές του DevCon μπορούν να επιταχύνουν τον χρόνο που απαιτείται για την εξέταση πολλαπλών πολιτικών χορήγησης βίζας, την πρόσβαση στο αεροδρόμιο και το κόστος ζωής στην περιοχή, ενώ παράλληλα συλλέγουν δεδομένα σχετικά με το πού θα ήταν ενθουσιασμένοι να πάνε οι πιθανοί συμμετέχοντες. + +## Περαιτέρω υλικό για διάβασμα {#further-reading} + +[From prediction markets to info finance](https://vitalik.eth.limo/general/2024/11/09/infofinance.html) - Vitalik Buterin\ +[Decentralized Prediction Market Development on Ethereum](https://blockchain.oodles.io/dev-blog/decentralized-prediction-market-development-ethereum/)\ +[The Augur Project Whitepaper](https://github.com/AugurProject/whitepaper) \ No newline at end of file diff --git a/public/content/translations/el/roadmap/account-abstraction/index.md b/public/content/translations/el/roadmap/account-abstraction/index.md new file mode 100644 index 00000000000..d3d8f8e93f5 --- /dev/null +++ b/public/content/translations/el/roadmap/account-abstraction/index.md @@ -0,0 +1,71 @@ +--- +title: Αφαιρετικότητα λογαριασμού +description: Επισκόπηση των σχεδίων του Ethereum για απλούστερους και ασφαλέστερους λογαριασμούς χρήστη +lang: el +summaryPoints: + - Η απλοποίηση λογαριασμού καθιστά τη δημιουργία πορτοφολιών των έξυπνων συμβολαίων πολύ πιο εύκολη. + - Τα πορτοφόλια έξυπνων συμβολαίων μπορούν ευκολότερα να διαχειριστούν ψηφιακά στοιχεία λογαριασμών Ethereum. + - Τα κλειδιά που έχουν χαθεί ή εκτεθεί μπορεί να γίνει η επαναφορά τους με χρήση πολλαπλών αντιγράφων ασφαλείας. +--- + +# Αφαιρετικότητα λογαριασμού {#account-abstraction} + +Οι ποιο ενθουσιώδεις χρήστες αλληλεπιδρούν με το Ethereum χρησιμοποιώντας **[εξωτερικά ιδιόκτητους λογαριασμούς (EOA)](/glossary/#eoa)**. Αυτό περιορίζει τον τρόπο με τον οποίο οι χρήστες μπορούν να αλληλεπιδράσουν με το Ethereum. Για παράδειγμα, δυσκολεύει τη διεκπεραίωση πακέτων συναλλαγών και απαιτεί από τους χρήστες να διατηρούν πάντα υπόλοιπο σε ETH για την πληρωμή των κρατήσεων συναλλαγών. + +Η αφαιρετικότητα λογαριασμού είναι μια νέα προσέγγιση που αποσκοπεί στην επίλυση αυτών των προβλημάτων, επιτρέποντας στους χρήστες να ενσωματώσουν μεγαλύτερη ασφάλεια και καλύτερες εμπειρίες χρήσης στους λογαριασμούς τους. Αυτό μπορεί να επιτευχθεί με την [αναβάθμιση των EOA](https://eips.ethereum.org/EIPS/eip-7702) (EIP-7702), ώστε να μπορούν να ελέγχονται από έξυπνα συμβόλαια. Εξετάζεται επίσης μια διαφορετική προσέγγιση, η οποία περιλαμβάνει την προσθήκη ενός [δεύτερου, ξεχωριστού συστήματος συναλλαγών](https://eips.ethereum.org/EIPS/eip-4337) (EIP-4337) που θα λειτουργεί παράλληλα με το υπάρχον πρωτόκολλο. Ανεξάρτητα από τη διαδρομή, το αποτέλεσμα είναι η πρόσβαση στο Ethereum μέσω έξυπνων πορτοφολιών συμβολαίων, είτε υποστηρίζονται εγγενώς ως μέρος του υπάρχοντος πρωτοκόλλου είτε μέσω ενός πρόσθετου δικτύου συναλλαγών. + +Τα πορτοφόλια έξυπνων συμβολαίων παρέχουν πολλά οφέλη στους χρήστες, όπως: + +- Ορισμός ευέλικτων κανόνων ασφαλείας. +- Ανάκτηση λογαριασμού σε περίπτωση απώλειας των κλειδιών. +- Διαμοιρασμός πρόσβασης σε έμπιστα άτομα ή συσκευές. +- Πληρωμή κρατήσεων άλλου χρήστη. +- Εκτέλεση πολλών συναλλαγών ταυτόχρονα (π.χ. έγκριση και εκτέλεση μιας ανταλλαγής κρυπτονομισμάτων σε ένα βήμα). +- Περισσότερες δυνατότητες για καινοτομία για dapps και δημιουργούς πορτοφολιών αλληλεπίδρασης χρηστών. + +Αυτά τα οφέλη δεν υποστηρίζονται σήμερα επειδή μόνο οι εξωτερικά ιδιόκτητοι λογαριασμοί ([EOA](/glossary/#eoa)) μπορούν να ξεκινήσουν συναλλαγές Οι ΕΟΕ είναι απλά ζεύγη δημόσιων-ιδιωτικών κλειδιών. Δείτε πως λειτουργούν: + +- Εάν έχετε το ιδιωτικό κλειδί μπορείτε να κάνετε _οτιδήποτε_ επιτρέπεται από την Ethereum Virtual Machine (EVM). +- Εάν δεν έχετε το ιδιωτικό κλειδί δεν μπορείτε να κάνετε _τίποτα_. + +Αν όμως χάσετε τα ιδιωτικά σας κλειδιά, δεν υπάρχει τρόπος ανάκτησης και ένας κλέφτης με πρόσβαση σε αυτά θα αποκτήσει άμεσα όλα τα χρήματα του λογαριασμού σας. + +Τα πορτοφόλια έξυπνων συμβολαίων αποτελούν λύση σε αυτά τα προβλήματα, αλλά προς το παρόν είναι δύσκολο να προγραμματιστούν, επειδή οποιαδήποτε λογική και αν εφαρμόζουν, πρέπει τελικά να μεταφραστεί σε μια σειρά συναλλαγών EOA για να γίνει αποδεκτή από το Ethereum. Η αφαιρετικότητα λογαριασμού επιτρέπει στα έξυπνα συμβόλαια να ξεκινούν μόνα τους συναλλαγές. Έτσι, οποιαδήποτε λογική θέλει να εφαρμόσει ο χρήστης μπορεί να προστεθεί ως κώδικας απευθείας στο πορτοφόλι έξυπνου συμβολαίου και να εκτελεστεί στο Ethereum. + +Με λίγα λόγια, η αφαιρετικότητα λογαριασμού βελτιώνει την υποστήριξη για πορτοφόλια έξυπνων συμβολαίων, καθιστώντας τα πιο εύκολα στην ανάπτυξη και πιο ασφαλή στη χρήση. Με την αφαίρετικότητα λογαριασμού, οι χρήστες μπορούν να απολαύσουν όλα τα οφέλη του Ethereum χωρίς να χρειάζεται να κατανοήσουν την υποκείμενη τεχνολογία. + +## Πέρα από τις φράσεις ασφαλείας {#beyond-seed-phrases} + +Σήμερα, οι λογαριασμοί προστατεύονται με ιδιωτικά κλειδιά που υπολογίζονται από τις φράσεις ασφαλείας. Οποιοσδήποτε έχει πρόσβαση σε μια φράση ασφαλείας μπορεί εύκολα να ανακαλύψει το ιδιωτικό κλειδί που προστατεύει έναν λογαριασμό και να αποκτήσει πρόσβαση σε όλα τα περιουσιακά στοιχεία που προστατεύει. Εάν χαθεί ένα ιδιωτικό κλειδί και μια φράση επαναφοράς, τα περιουσιακά στοιχεία καθίστανται μόνιμα μη προσβάσιμα. Η εξασφάλιση αυτών των φράσεων ασφαλείας είναι δύσκολη, ακόμη και για έμπειρους χρήστες, καθώς η εξαπάτηση για τις φράσεις ασφαλείας είναι ένας από τους πιο συνηθισμένους τρόπους εξαπάτησης. + +Η αφαιρετικότητα λογαριασμού λύνει αυτό το πρόβλημα χρησιμοποιώντας ένα έξυπνο συμβόλαιο για τη διατήρηση περιουσιακών στοιχείων και την εξουσιοδότηση συναλλαγών. Τα έξυπνα συμβόλαια μπορούν να περιλαμβάνουν προσαρμοσμένη λογική για μέγιστη ασφάλεια και χρηστικότητα. Οι χρήστες εξακολουθούν να χρησιμοποιούν ιδιωτικά κλειδιά για τον έλεγχο πρόσβασης, αλλά με ενισχυμένα μέτρα ασφαλείας. + +Για παράδειγμα, μπορούν να προστεθούν εφεδρικά κλειδιά σε ένα πορτοφόλι, επιτρέποντας την αντικατάσταση κλειδιού σε περίπτωση που το πρωτεύον κλειδί έχει παραβιαστεί. Κάθε κλειδί μπορεί να ασφαλιστεί με διαφορετικό τρόπο ή να κατανεμηθεί μεταξύ αξιόπιστων ατόμων, αυξάνοντας σημαντικά την ασφάλεια. Πρόσθετοι κανόνες πορτοφολιού μπορούν να μετριάσουν τη ζημιά από την έκθεση σε κλειδιά, όπως η απαίτηση πολλαπλών υπογραφών για συναλλαγές υψηλής αξίας ή ο περιορισμός των συναλλαγών σε αξιόπιστες διευθύνσεις. + +## Καλύτερη εμπειρία χρήστη {#better-user-experience} + +Η αφαιρετικότητα λογαριασμών βελτιώνει σημαντικά την εμπειρία και την ασφάλεια του χρήστη, υποστηρίζοντας έξυπνα πορτοφόλια συμβολαίων σε επίπεδο πρωτοκόλλου. Οι προγραμματιστές μπορούν να καινοτομούν ελεύθερα, βελτιώνοντας την ομαδοποίηση συναλλαγών για ταχύτητα και αποτελεσματικότητα. Οι απλές ανταλλαγές μπορούν να γίνουν λειτουργίες με ένα κλικ, βελτιώνοντας σημαντικά την ευκολία χρήσης. + +Η διαχείριση του gas βελτιώνεται σημαντικά. Οι εφαρμογές μπορούν να πληρώσουν τα τέλη gas των χρηστών ή να επιτρέψουν την πληρωμή σε tokens εκτός από ETH, εξαλείφοντας την ανάγκη διατήρησης υπολοίπου ETH. + +## Πώς θα υλοποιηθεί η αφαιρετικότητα λογαριασμού; {#how-will-aa-be-implemented} + +Προς το παρόν, τα έξυπνα πορτοφόλια συμβολαίων είναι δύσκολο να εφαρμοστούν, καθώς βασίζονται σε σύνθετες τυπικές συναλλαγές που περιτυλίγουν κώδικα. Το Ethereum μπορεί να το αλλάξει αυτό επιτρέποντας στα έξυπνα συμβόλαια να ξεκινούν απευθείας συναλλαγές, ενσωματώνοντας αυτή τη λογική στα έξυπνα συμβόλαια του Ethereum αντί να βασίζεται σε εξωτερικούς αναμεταδότες. + +### EIP-4337: Αφαιρετικότητα λογαριασμού χωρίς αλλαγές πρωτοκόλλου + +Το EIP-4337 επιτρέπει την υποστήριξη εγγενών έξυπνων πορτοφολιών συμβολαίων χωρίς τροποποίηση του βασικού πρωτοκόλλου του Ethereum. Εισάγει αντικείμενα `UserOperation` που συλλέγονται σε δέσμες συναλλαγών από επικυρωτές, απλοποιώντας την ανάπτυξη πορτοφολιών. Η σύμβαση EIP-4337 EntryPoint αναπτύχθηκε στο Ethereum Mainnet τη 1η Μαρτίου 2023 και έχει διευκολύνει τη δημιουργία πάνω από 26 εκατομμυρίων έξυπνων πορτοφολιών και 170 εκατομμυρίων λειτουργιών χρηστών. + +## Τρέχουσα πρόοδος {#current-progress} + +Στο πλαίσιο της αναβάθμισης του Pectra του Ethereum, το EIP-7702 έχει προγραμματιστεί για τις 7 Μαΐου 2025. Το EIP-4337 έχει υιοθετηθεί ευρέως, [με πάνω από 26 εκατομμύρια έξυπνους λογαριασμούς να έχουν αναπτυχθεί και να έχουν διεκπεραιωθεί περισσότερες από 170 εκατομμύρια λειτουργίες χρήστη](https://www.bundlebear.com/overview/all). + +## Περισσότερες πληροφορίες {#further-reading} + +- [erc4337.io](https://www.erc4337.io/) +- [Τεκμηρίωση EIP-4337](https://eips.ethereum.org/EIPS/eip-4337) +- [Τεκμηρίωση EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) +- [Πίνακας ελέγχου υιοθέτησης ERC-4337](https://www.bundlebear.com/overview/all) +- [Ο «Δρόμος προς την Αφαιρετικότητα Λογαριασμών» του Vitalik](https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap#Transaction-inclusion-lists) +- [Το ιστολόγιο του Vitalik σχετικά με τα πορτοφόλια επαναφοράς](https://vitalik.eth.limo/general/2021/01/11/recovery.html) +- [Φοβερή Αφαιρετικότητα Λογαριασμού](https://github.com/4337Mafia/awesome-account-abstraction) diff --git a/public/content/translations/el/roadmap/danksharding/index.md b/public/content/translations/el/roadmap/danksharding/index.md new file mode 100644 index 00000000000..05dd6ca4153 --- /dev/null +++ b/public/content/translations/el/roadmap/danksharding/index.md @@ -0,0 +1,95 @@ +--- +title: Danksharding +description: Μάθετε για το Proto-Danksharding και το Danksharding, τις δύο διαδοχικές αναβαθμίσεις για την κλιμάκωση του Ethereum. +lang: el +summaryPoints: + - Το Danksharding είναι μια αναβάθμιση πολλών φάσεων για τη βελτίωση της δυνατότητας κλιμάκωσης και της χωρητικότητας του Ethereum. + - Το πρώτο στάδιο, το Proto-Danksharding, προσθέτει δεδομένα-blobs (data blobs) στα μπλοκ + - Τα δεδομένα-blobs προσφέρουν έναν φθηνότερο τρόπο για τα rollups να δημοσιεύουν τα δεδομένα στο Ethereum και αυτό το κόστος μπορεί να μεταφερθεί στους χρήστες με τη μορφή χαμηλότερων τελών συναλλαγής. + - Αργότερα, το πλήρες Danksharding θα διανείμει την ευθύνη επαλήθευσης των δεδομένων-blobs σε υποσύνολα κόμβων, κλιμακώνοντας περαιτέρω το Ethereum σε περισσότερες από 100.000 συναλλαγές ανά δευτερόλεπτο. +--- + +# Danksharding {#danksharding} + +Το **Danksharding** είναι ο τρόπος με τον οποίο το Ethereum γίνεται ένα πραγματικά επεκτάσιμο blockchain, αλλά απαιτούνται αρκετές αναβαθμίσεις πρωτοκόλλου για να φτάσετε εκεί. Το **Proto-Danksharding** είναι ένα ενδιάμεσο βήμα στην όλη πορεία. Και τα δύο στοχεύουν να κάνουν τις συναλλαγές στο επίπεδο 2 όσο το δυνατόν πιο φθηνές για τους χρήστες και θα πρέπει να κλιμακώσουν το Ethereum σε >100.000 συναλλαγές ανά δευτερόλεπτο. + +## Τι είναι το Proto-Danksharding; {#what-is-protodanksharding} + +Το Proto-Danksharding, γνωστό και ως [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), είναι ένας τρόπος ώστε τα [πακέτα ενημέρωσης](/layer-2/#rollups) να προσθέτουν φθηνότερα δεδομένα στα μπλοκ. Το όνομα προέρχεται από τους δύο ερευνητές που πρότειναν την ιδέα: τον Protolambda και τον Dankrad Feist. Ιστορικά, τα rollup είχαν περιορισμούς όσον αφορά το πόσο φθηνές μπορούν να κάνουν τις συναλλαγές των χρηστών λόγω του γεγονότος ότι δημοσιεύουν τις συναλλαγές τους στο `CALLDATA`. + +Αυτό είναι ακριβό επειδή υποβάλλεται σε επεξεργασία από όλους τους κόμβους Ethereum και βρίσκεται για πάντα εντός αλυσίδας, παρόλο που τα rollup χρειάζονται τα δεδομένα μόνο για μικρό χρονικό διάστημα. Το Proto-Danksharding εισάγει δεδομένα blob που μπορούν να αποσταλούν και να συνδεθούν σε μπλοκ. Τα δεδομένα σε αυτά τα blob δεν είναι προσβάσιμα στην EVM και διαγράφονται αυτόματα μετά από μια καθορισμένη χρονική περίοδο (ορίζεται σε 4096 εποχές τη στιγμή της σύνταξης ή περίπου 18 ημέρες). Αυτό σημαίνει ότι τα πακέτα δεδομένων μπορούν να στέλνουν τα δεδομένα τους πολύ πιο φθηνά και να μεταφέρουν τις εξοικονομήσεις τους στους τελικούς χρήστες με τη μορφή φθηνότερων συναλλαγών. + + + +Τα πακέτα συναλλαγών είναι ένας τρόπος για να κλιμακωθεί το Ethereum ομαδοποιώντας τις συναλλαγές εκτός αλυσίδας και στη συνέχεια δημοσιεύοντας τα αποτελέσματα στο Ethereum. Ένα rollup αποτελείται ουσιαστικά από δύο μέρη: τα δεδομένα και τον έλεγχο εκτέλεσης. Τα δεδομένα είναι η πλήρης ακολουθία των συναλλαγών που επεξεργάζεται ένα rollup, για να παράγει την αλλαγή κατάστασης που δημοσιεύεται στο Ethereum. Ο έλεγχος εκτέλεσης είναι η επανεξέταση αυτών των συναλλαγών από έναν ειλικρινή παράγοντα (έναν «αποδεικνύοντα») για να διασφαλιστεί ότι η προτεινόμενη αλλαγή κατάστασης είναι σωστή. Για να πραγματοποιηθεί ο έλεγχος εκτέλεσης, τα δεδομένα συναλλαγών πρέπει να είναι διαθέσιμα για αρκετά μεγάλο χρονικό διάστημα ώστε να μπορεί ο καθένας να τα κατεβάσει και να τα ελέγξει. Αυτό σημαίνει ότι οποιαδήποτε ανέντιμη συμπεριφορά από τον διαχειριστή του rollup μπορεί να εντοπιστεί και να αμφισβητηθεί από αυτόν που αποδεικνύει. Ωστόσο, δε χρειάζεται να είναι διαθέσιμα για πάντα. + + + + + +Τα πακέτα συναλλαγών δημοσιεύουν δεσμεύσεις για τα δεδομένα συναλλαγών τους στην αλυσίδα και επίσης καθιστούν τα πραγματικά δεδομένα διαθέσιμα σε blobs δεδομένων. Αυτό σημαίνει ότι αυτοί που αποδεικνύουν μπορούν να ελέγξουν αν οι δεσμεύσεις είναι έγκυρες ή να αμφισβητήσουν δεδομένα που θεωρούν λανθασμένα. Σε επίπεδο κόμβου, τα δεδομένα blob τηρούνται στον πελάτη συναίνεσης. Οι πελάτες συναίνεσης βεβαιώνουν ότι έχουν δει τα δεδομένα και ότι έχουν διαδοθεί στο δίκτυο. Εάν τα δεδομένα διατηρούνταν για πάντα, αυτοί οι πελάτες θα διογκώνονταν και θα οδηγούσαν σε μεγάλες απαιτήσεις σε υλικό για τη λειτουργία των κόμβων. Αντίθετα, τα δεδομένα περικόπτονται αυτόματα από τον κόμβο κάθε 18 ημέρες. Οι βεβαιώσεις των πελατών συναίνεσης, αποδεικνύουν ότι υπήρξε επαρκής ευκαιρία για τους αποδεικνύοντες να επαληθεύσουν τα δεδομένα. Τα πραγματικά δεδομένα μπορούν να αποθηκευτούν εκτός αλυσίδας από φορείς εκμετάλλευσης, χρήστες ή άλλους. + + + +### Πώς επαληθεύονται τα δεδομένα blob; {#how-are-blobs-verified} + +Τα rollup δημοσιεύουν τις συναλλαγές που εκτελούν σε δεδομένα blob. Αναρτούν και «δέσμευση» για τα δεδομένα. Αυτό επιτυγχάνεται μέσω της προσαρμογής μιας «polynomial» συνάρτησης στα δεδομένα. Αυτή η συνάρτηση μπορεί στη συνέχεια να αξιολογηθεί σε διάφορα σημεία. Για παράδειγμα, αν ορίσουμε μια εξαιρετικά απλή συνάρτηση `f(x) = 2x-1`, τότε μπορούμε να αξιολογήσουμε αυτή τη συνάρτηση για `x = 1`, `x = 2`, `x = 3`, δίνοντας τα αποτελέσματα `1, 3, 5`. Ένας αποδεικνύων εφαρμόζει την ίδια συνάρτηση στα δεδομένα και την αξιολογεί με τον ίδιο τρόπο. Εάν τα αρχικά δεδομένα αλλάξουν, η συνάρτηση δε θα είναι ίδια και επομένως δε θα είναι ίδιες οι τιμές που αξιολογούνται σε κάθε σημείο. Στην πραγματικότητα, η δέσμευση και η απόδειξη είναι πιο περίπλοκες επειδή περιέχονται σε κρυπτογραφικές συναρτήσεις. + +### Τι είναι το KZG; {#what-is-kzg} + +Το KZG σημαίνει Kate-Zaverucha-Goldberg, τα ονόματα των τριών [αρχικών συγγραφέων](https://link.springer.com/chapter/10.1007/978-3-642-17373-8_11) ενός σχεδίου που μειώνει ένα blob δεδομένων σε μια μικρή [κρυπτογραφική δέσμευση](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html). Το blob δεδομένων που υποβάλλει ένα rollup πρέπει να επαληθευτεί για να διασφαλιστεί ότι το rollup δε συμπεριφέρεται κακόβουλα. Αυτό περιλαμβάνει την επανεξέταση των συναλλαγών στο blob από έναν αποδεικνύοντα για να ελέγξει ότι η δέσμευση ήταν έγκυρη. Αυτό είναι εννοιολογικά το ίδιο με τον τρόπο που οι πελάτες εκτέλεσης ελέγχουν την εγκυρότητα των συναλλαγών Ethereum στο επίπεδο 1, χρησιμοποιώντας τις αποδείξεις Merkle. Το KZG είναι μια εναλλακτική απόδειξη που προσαρμόζει μια polynomial εξίσωση στα δεδομένα. Η δέσμευση αξιολογεί το polynomial σε κάποια μυστικά σημεία δεδομένων. Ένας αποδεικνύων θα προσαρμόσει το ίδιο polynomial στα δεδομένα και θα το αξιολογήσει στις ίδιες τιμές, ελέγχοντας ότι το αποτέλεσμα είναι το ίδιο. Αυτός είναι ένας τρόπος επαλήθευσης των δεδομένων που είναι συμβατός με τις τεχνικές μηδενικής γνώσης που χρησιμοποιούνται από ορισμένα rollups και άλλα μέρη του πρωτοκόλλου Ethereum. + +### Τι ήταν η τελετή KZG; {#what-is-a-kzg-ceremony} + +Η τελετή KZG ήταν ένας τρόπος για πολλούς ανθρώπους από όλη την κοινότητα του Ethereum να δημιουργήσουν συλλογικά μια μυστική τυχαία σειρά αριθμών που μπορούν να χρησιμοποιηθούν για την επαλήθευση ορισμένων δεδομένων. Είναι πολύ σημαντικό ότι αυτή η σειρά αριθμών δεν είναι γνωστή και δεν μπορεί να αναδημιουργηθεί από κανέναν. Για να διασφαλιστεί αυτό, κάθε άτομο που συμμετείχε στην τελετή έλαβε μια σειρά από τον προηγούμενο συμμετέχοντα. Οι συμμετέχοντες δημιούργησαν νέες τυχαίες τιμές (π.χ. επιτρέποντας στο πρόγραμμα περιήγησής τους να μετρήσει την κίνηση του ποντικιού τους) και τις ανέμειξαν με την προηγούμενη τιμή. Στη συνέχεια, έστειλαν την τιμή στον επόμενο συμμετέχοντα και την κατέστρεψαν από την τοπική τους μηχανή. Στον βαθμό που ένα άτομο στην τελετή το έκανε αυτό με ειλικρίνεια, η τελική τιμή δε θα είναι γνωστή σε έναν επιτιθέμενο. + +Η τελετή KZG του EIP-4844 ήταν ανοιχτή στο κοινό και δεκάδες χιλιάδες άνθρωποι συμμετείχαν για να προσθέσουν τη δική τους εντροπία (τυχαιότητα). Συνολικά έγιναν πάνω από 140.000 συνεισφορές, καθιστώντας την τη μεγαλύτερη τελετή του είδους της στον κόσμο. Για να υπονομευθεί η τελετή, το 100% των συμμετεχόντων θα έπρεπε να είναι ενεργά ανέντιμοι. Από την οπτική των συμμετεχόντων, εάν γνωρίζουν ότι ήταν ειλικρινείς, δε χρειάζεται να εμπιστευτούν κανέναν άλλο, επειδή γνωρίζουν ότι ασφάλισαν την τελετή (ικανοποίησαν ατομικά την απαίτηση ενός ειλικρινούς συμμετέχοντα από τους Ν). + + + +Όταν ένα πακέτο συναλλαγών δημοσιεύει δεδομένα σε ένα blob, παρέχει μια "δέσμευση" ότι δημοσιεύει στην αλυσίδα. Αυτή η δέσμευση είναι το αποτέλεσμα της αξιολόγησης μια πολυωνυμικής προσαρμογής στα δεδομένα σε ορισμένα σημεία. Αυτά τα σημεία ορίζονται από τους τυχαίους αριθμούς που δημιουργούνται στην τελετή KZG. Οι αποδεικνύοντες μπορούν στη συνέχεια να αξιολογήσουν το polynomial στα ίδια σημεία για να επαληθεύσουν τα δεδομένα και εάν καταλήξουν στις ίδιες τιμές, τότε τα δεδομένα είναι σωστά. + + + + + +Εάν κάποιος γνωρίζει τις τυχαίες τοποθεσίες που χρησιμοποιούνται για τη δέσμευση, είναι εύκολο για αυτόν να δημιουργήσει ένα νέο polynomial που ταιριάζει σε αυτά τα συγκεκριμένα σημεία (δηλαδή μια «σύγκρουση»). Αυτό σημαίνει ότι θα μπορούσε να προσθέσει ή να αφαιρέσει δεδομένα από το blob και να παράσχει ακόμα μια έγκυρη απόδειξη. Για να αποφευχθεί αυτό, αντί να δίνουν στους αποδεικνύοντες τις πραγματικές μυστικές τοποθεσίες, στην πραγματικότητα λαμβάνουν τις τοποθεσίες καλυμμένες με ένα κρυπτογραφημένο «μαύρο κουτί» χρησιμοποιώντας ελλειπτικές καμπύλες. Αυτές ανακατεύουν αποτελεσματικά τις τιμές με τέτοιο τρόπο ώστε οι αρχικές τιμές να μην μπορούν να αναστραφούν, αλλά με κάποιο έξυπνο υπολογισμό άλγεβρας οι αποδεικνύοντες και οι επαληθευτές μπορούν ακόμα να αξιολογούν polynomials στα σημεία που αντιπροσωπεύουν. + + + + + Ούτε το Danksharding ούτε το Proto-Danksharding ακολουθούν το παραδοσιακό μοντέλο «τμηματοποίησης» που στοχεύει στον διαχωρισμό της κρυπτοαλυσίδας σε πολλαπλά μέρη. Οι αλυσίδες shard δεν αποτελούν πλέον μέρος του οδικού χάρτη. Αντίθετα, το Danksharding χρησιμοποιεί δειγματοληψία κατανεμημένων δεδομένων σε blobs για την κλιμάκωση του Ethereum. Αυτό είναι πολύ απλούστερο στην εφαρμογή. Αυτό το μοντέλο έχει μερικές φορές αναφερθεί ως «data-sharding». + + +## Τι είναι το Danksharding; {#what-is-danksharding} + +Το Danksharding είναι η πλήρης υλοποίηση της κλιμάκωσης rollup που ξεκίνησε με το Proto-Danksharding. Το Danksharding θα φέρει τεράστιες ποσότητες χώρου στο Ethereum, ώστε τα rollup να απορρίπτουν τα συμπιεσμένα δεδομένα συναλλαγών τους. Αυτό σημαίνει ότι το Ethereum θα είναι σε θέση να υποστηρίξει εύκολα εκατοντάδες μεμονωμένα rollups και να πραγματοποιήσει εκατομμύρια συναλλαγές ανά δευτερόλεπτο. + +Ο τρόπος λειτουργίας του είναι η επέκταση των blobs που συνδέονται με τα μπλοκ από έξι (6) στο Proto-Danksharding σε 64, στο πλήρες Danksharding. Οι υπόλοιπες απαιτούμενες αλλαγές είναι όλες ενημερώσεις στον τρόπο λειτουργίας των πελατών συναίνεσης, για να μπορούν να χειρίζονται τα νέα μεγάλα blobs. Ορισμένες από αυτές τις αλλαγές βρίσκονται ήδη στον οδικό χάρτη για άλλους σκοπούς ανεξάρτητα από το Danksharding. Για παράδειγμα, το Danksharding απαιτεί να έχει εφαρμοστεί ο διαχωρισμός προτείνοντος-κατασκευαστή μπλοκ. Πρόκειται για μια αναβάθμιση που διαχωρίζει τις εργασίες κατασκευής και πρότασης μπλοκ σε διαφορετικούς επικυρωτές. Ομοίως, η δειγματοληψία διαθεσιμότητας δεδομένων απαιτείται για το Danksharding, αλλά απαιτείται επίσης για την ανάπτυξη εφαρμογών πελάτη μικρού μεγέθους που δεν αποθηκεύουν πολλά ιστορικά δεδομένα («πελάτες χωρίς κατάσταση»). + + + +Ο διαχωρισμός προτείνοντος-κατασκευαστή μπλοκ απαιτείται για να αποτραπεί η ανάγκη των μεμονωμένων επικυρωτών να δημιουργούν δαπανηρές δεσμεύσεις και αποδείξεις για 32MB δεδομένων blob. Αυτό θα ασκήσει υπερβολική πίεση στους οικιακούς χρήστες αποθηκευμένου κεφαλαίου και θα τους υποχρεώσει να επενδύσουν σε ισχυρότερα συστήματα, γεγονός που βλάπτει την αποκέντρωση. Αντίθετα, εξειδικευμένοι κατασκευαστές μπλοκ αναλαμβάνουν την ευθύνη για αυτή τη δαπανηρή υπολογιστική εργασία. Στη συνέχεια, διαθέτουν τα μπλοκ τους στους προτείνοντες μπλοκ για δημοσίευση. Ο προτείνων μπλοκ απλώς επιλέγει το μπλοκ που είναι πιο κερδοφόρο. Ο καθένας μπορεί να επαληθεύσει τα blobs φθηνά και γρήγορα, πράγμα που σημαίνει ότι οποιοσδήποτε κανονικός επικυρωτής μπορεί να ελέγξει ότι οι κατασκευαστές μπλοκ συμπεριφέρονται αξιόπιστα. Αυτό επιτρέπει την επεξεργασία των μεγάλων blobs χωρίς να θυσιάζεται η αποκέντρωση. Οι κακοήθεις κατασκευαστές μπλοκ θα μπορούσαν απλώς να εκδιωχθούν από το δίκτυο και να επιβληθεί περικοπή, ενώ άλλοι θα μπουν στη θέση τους επειδή η κατασκευή μπλοκ είναι μια κερδοφόρα δραστηριότητα. + + + + + +Η δειγματοληψία διαθεσιμότητας δεδομένων απαιτείται για τους επικυρωτές για γρήγορο και αποτελεσματικό έλεγχο των δεδομένων blob. Χρησιμοποιώντας τη δειγματοληψία διαθεσιμότητας δεδομένων, οι επικυρωτές μπορούν να είναι πολύ σίγουροι ότι τα δεδομένα blob ήταν διαθέσιμα και δεσμεύτηκαν σωστά. Κάθε επικυρωτής μπορεί τυχαία να δειγματίσει μερικά μόνο σημεία δεδομένων και να δημιουργήσει μια απόδειξη, που σημαίνει ότι κανένας επικυρωτής δεν χρειάζεται να ελέγξει ολόκληρο το blob. Εάν λείπουν δεδομένα, θα εντοπιστούν γρήγορα και το blob θα απορριφθεί. + + + +### Τρέχουσα πρόοδος {#current-progress} + +Το πλήρες Danksharding είναι αρκετά χρόνια μακριά. Στο μεταξύ, η τελετή KZG ολοκληρώθηκε με περισσότερες από 140.000 συνεισφορές και το [EIP](https://eips.ethereum.org/EIPS/eip-4844) για το Proto-Danksharding έχει ωριμάσει. Αυτή η πρόταση έχει εφαρμοστεί πλήρως σε όλα τα δίκτυα δοκιμών και τέθηκε σε λειτουργία στο Mainnet με την αναβάθμιση δικτύου Cancun-Deneb (Dencun) τον Μάρτιο του 2024. + +### Περισσότερες πληροφορίες {#further-reading} + +- [Σημειώσεις Proto-Danksharding](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq) - _Vitalik Buterin_ +- [Σημειώσεις του Dankrad για το Danksharding](https://notes.ethereum.org/@dankrad/new_sharding) +- [Συζήτηση του Dankrad, Proto και Vitalik για το Danksharding](https://www.youtube.com/watch?v=N5p0TB77flM) +- [Η τελετή KZG](https://ceremony.ethereum.org/) +- [Ομιλία του Carl Beekhuizen στο Devcon για αξιόπιστους τρόπου εγκατάστασης](https://archive.devcon.org/archive/watch/6/the-kzg-ceremony-or-how-i-learnt-to-stop-worrying-and-love-trusted-setups/?tab=YouTube) +- [Περισσότερα για τη δειγματοληψία διαθεσιμότητας δεδομένων για blobs](https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling) +- [Ο Dankrad Feist για τις δεσμεύσεις και αποδείξεις KZG](https://youtu.be/8L2C6RDMV9Q) +- [Πολυωνυμικές δεσμεύσεις KZG](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html) diff --git a/public/content/translations/el/roadmap/dencun/index.md b/public/content/translations/el/roadmap/dencun/index.md index 72b592c6468..2c3c8c4e212 100644 --- a/public/content/translations/el/roadmap/dencun/index.md +++ b/public/content/translations/el/roadmap/dencun/index.md @@ -68,9 +68,9 @@ lang: el Οι πελάτες συναίνεσης χειρίζονται το λογισμικό _Επικυρωτή_, το οποίο έχει ενημερωθεί πλήρως για να φιλοξενήσει την αναβάθμιση. -## Πώς επηρεάζει το Cancun-Deneb (Dencun) το Goerli ή άλλα δοκιμαστικά δίκτυα Ethereum; {#testnet-impact} +## Πώς επηρεάζει το Cancun-Deneb (Dencun) τα δίκτυα δοκιμών Ethereum; {#testnet-impact} -- Τα Devnets, Goerli, Sepolia και Holesky έχουν υποβληθεί στην αναβάθμιση Dencun και έχουν το Proto-Danksharding πλήρως λειτουργικό +- Τα Devnets, Sepolia και Holesky έχουν υποβληθεί στην αναβάθμιση Dencun και έχουν το Proto-Danksharding πλήρως λειτουργικό - Οι προγραμματιστές πακέτων ενημέρωσης μπορούν να χρησιμοποιήσουν αυτά τα δίκτυα για δοκιμές EIP-4844 - Οι περισσότεροι χρήστες δε θα επηρεαστούν καθόλου από αυτήν την αλλαγή σε κάθε δίκτυο δοκιμής diff --git a/public/content/translations/el/roadmap/future-proofing/index.md b/public/content/translations/el/roadmap/future-proofing/index.md index 565a91d37da..b881682e37e 100644 --- a/public/content/translations/el/roadmap/future-proofing/index.md +++ b/public/content/translations/el/roadmap/future-proofing/index.md @@ -15,24 +15,39 @@ 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 για τη δημιουργία κρυπτογραφικών μυστικών είναι γνωστό ότι είναι κβαντικά ευάλωτα. Προς το παρόν, αυτό παρακάμπτεται χρησιμοποιώντας «αξιόπιστες ρυθμίσεις» (για τις οποίες η κύρια τελετή ρύθμισης ολοκληρώθηκε με επιτυχία το 2023), όπου πολλοί χρήστες δημιούργησαν τυχαιότητα που δεν μπορεί να αντιστραφεί από έναν κβαντικό υπολογιστή. Ωστόσο, η ιδανική μακροπρόθεσμη λύση θα ήταν η ενσωμάτωση της κβαντικής ασφαλούς κρυπτογραφίας. Υπάρχουν δύο κορυφαίες προσεγγίσεις που θα μπορούσαν να γίνουν αποτελεσματικές αντικαταστάσεις για το σχήμα BLS: [το βασισμένο σε STARK](https://hackmd.io/@vbuterin/stark_aggregation) και [το βασισμένο σε πλέγμα](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175) υπογραφή. **Αυτά εξακολουθούν να βρίσκονται υπό ενεργό έρευνα και δημιουργία πρωτοτύπων**. - Διαβάστε για το KZG και τις αξιόπιστες ρυθμίσεις +[Διαβάστε για το KZG και τις αξιόπιστες ρυθμίσεις](/roadmap/danksharding#what-is-kzg) ## Πιο απλό και αποτελεσματικό Ethereum {#simpler-more-efficient-ethereum} -Η πολυπλοκότητα δημιουργεί ευκαιρίες για σφάλματα ή τρωτά σημεία που μπορούν να εκμεταλλευτούν οι κακόβουλοι. Ως εκ τούτου, μέρος του οδικού χάρτη είναι η απλοποίηση του Ethereum και η κατάργηση του κώδικα που έχει κολλήσει μέσα από διάφορες αναβαθμίσεις αλλά δε χρειάζονται πλέον ή μπορούν να βελτιωθούν. Μια πιο λιτή, απλούστερη βάση κώδικα είναι ευκολότερο για τους προγραμματιστές να διατηρούν και να συλλογίζονται. +Η πολυπλοκότητα δημιουργεί ευκαιρίες για σφάλματα ή τρωτά σημεία που μπορούν να εκμεταλλευτούν οι εισβολείς. Ως εκ τούτου, μέρος του οδικού χάρτη είναι η απλοποίηση του Ethereum και η κατάργηση του τροποποιημένου κώδικα που έχει κολλήσει μέσα από διάφορες αναβαθμίσεις αλλά δε χρειάζεται πλέον ή μπορεί να βελτιωθεί. Μια πιο λιτή και απλούστερη βάση κώδικα είναι πιο εύκολη στη συντήρηση και τη λογική για τους προγραμματιστές. -Υπάρχουν πολλές ενημερώσεις που θα γίνουν στην [Εικονική Μηχανή Ethereum (EVM)](/developers/docs/evm) για να γίνει απλούστερη και πιο αποτελεσματική. Σε αυτά περιλαμβάνονται η [κατάργηση του κωδικού λειτουργίας SELFDESTRUCT](https://hackmd.io/@vbuterin/selfdestruct) - μια σπάνια χρησιμοποιούμενη εντολή που δε χρειάζεται πλέον και σε ορισμένες περιπτώσεις μπορεί να είναι επικίνδυνη για χρήση, ειδικά όταν συνδυάζεται με άλλες μελλοντικές αναβαθμίσεις στο μοντέλο αποθήκευσης του Ethereum. Οι [εφαρμογές πελάτη Ethereum](/glossary/#consensus-client) υποστηρίζουν επίσης ορισμένους παλιούς τύπους συναλλαγών που μπορούν πλέον να αφαιρεθούν εντελώς. Ο τρόπος υπολογισμού των [κρατήσεων](/glossary/#gas) μπορεί επίσης να βελτιωθεί και να εισαχθούν πιο αποτελεσματικές μέθοδοι για την αριθμητική υποστήριξη ορισμένων κρυπτογραφικών λειτουργιών. +Για να καταστεί η [Εικονική Μηχανή (EVM) του Ethereum](/developers/docs/evm) απλούστερη και πιο αποτελεσματική, οι βελτιώσεις ερευνώνται και εφαρμόζονται συνεχώς. Αυτό περιλαμβάνει τόσο την αντιμετώπιση παλαιών στοιχείων όσο και την εισαγωγή βελτιστοποιήσεων. -Ομοίως, υπάρχουν ενημερώσεις που μπορούν να γίνουν σε άλλα μέρη των σημερινών εφαρμογών πελάτη Ethereum. Ένα παράδειγμα είναι ότι οι τρέχοντες εφαρμογές πελάτη εκτέλεσης και συναίνεσης χρησιμοποιούν διαφορετικό τύπο συμπίεσης δεδομένων. Θα είναι πολύ πιο εύκολο και πιο διαισθητικό να μοιράζεστε δεδομένα μεταξύ των πελατών όταν το σχήμα συμπίεσης είναι ενοποιημένο σε ολόκληρο το δίκτυο. +**Πρόσφατες αλλαγές που εφαρμόστηκαν:** + +- **Αναθεώρηση Υπολογισμού Gas:** Ο τρόπος υπολογισμού του [gas](/glossary/#gas) βελτιώθηκε σημαντικά με το **EIP-1559 (που εφαρμόστηκε στην αναβάθμιση London το 2021)**, εισάγοντας έναν βασικό μηχανισμό χρέωσης και καύσης για πιο προβλέψιμη τιμολόγηση συναλλαγών. +- **`SELFDESTRUCT` Περιορισμός:** Ο κώδικας λειτουργίας `SELFDESTRUCT`, αν και σπάνια χρησιμοποιείται, ενέχει πιθανούς κινδύνους. Η λειτουργικότητά του **περιορίστηκε σημαντικά στην αναβάθμιση Dencun (Μάρτιος 2024) μέσω του EIP-6780** για τον μετριασμό των κινδύνων, ιδίως όσον αφορά τη διαχείριση καταστάσεων. +- **Εκσυγχρονισμένοι τύποι συναλλαγών:** Έχουν εισαχθεί νέες μορφές συναλλαγών (π.χ., μέσω **EIP-2718** και **EIP-4844** για blob στην αναβάθμιση Dencun) για την υποστήριξη νέων λειτουργιών και τη βελτίωση της αποδοτικότητας σε σχέση με τους παλαιότερους τύπους. + +**Τρέχοντες και μελλοντικοί στόχοι:** + +- **Περαιτέρω χειρισμός του `SELFDESTRUCT`:** Ενώ υπάρχει περιορισμός, η **πιθανή πλήρης κατάργηση** του κώδικα λειτουργίας `SELFDESTRUCT` εξακολουθεί να λαμβάνεται υπόψη για μελλοντικές αναβαθμίσεις, ώστε να απλοποιηθεί περαιτέρω η κατάσταση του EVM. ([Περισσότερα συμφραζόμενα σχετικά με ζητήματα SELFDESTRUCT](https://hackmd.io/@vbuterin/selfdestruct)). +- **Σταδιακή κατάργηση παλαιών συναλλαγών:** Παρόλο που οι [πελάτες Ethereum](/glossary/#consensus-client) εξακολουθούν να υποστηρίζουν παλαιότερους τύπους συναλλαγών για συμβατότητα με παλαιότερες εκδόσεις, ο στόχος είναι να ενθαρρυνθεί η μετάβαση σε νεότερους τύπους και **ενδεχομένως να καταργηθεί ή να καταργηθεί πλήρως η υποστήριξη για τις παλαιότερες μορφές** στο μέλλον. +- **Συνεχιζόμενη Έρευνα για την Απόδοση του Gas:** Η διερεύνηση συνεχίζεται για **περαιτέρω βελτιώσεις στον υπολογισμό του gas**, ενδεχομένως συμπεριλαμβάνοντας έννοιες όπως το πολυδιάστατο gas για την καλύτερη απεικόνιση της χρήσης πόρων. +- **Βελτιστοποιημένες Κρυπτογραφικές Λειτουργίες:** Συνεχίζονται οι προσπάθειες για την **εισαγωγή πιο αποτελεσματικών μεθόδων για την αριθμητική** που υποστηρίζουν τις κρυπτογραφικές λειτουργίες που χρησιμοποιούνται στο EVM. + +Ομοίως, υπάρχουν ενημερώσεις που μπορούν να γίνουν σε άλλα μέρη των σύγχρονων πελατών Ethereum. Ένα παράδειγμα είναι ότι οι τρέχοντες πελάτες εκτέλεσης και συναίνεσης χρησιμοποιούν διαφορετικό τύπο συμπίεσης δεδομένων. Θα είναι πολύ πιο εύκολο και πιο εύχρηστο να μοιράζεστε δεδομένα μεταξύ των πελατών όταν το σχήμα συμπίεσης είναι ενιαίο σε ολόκληρο το δίκτυο. Αυτό παραμένει ένα πεδίο εξερεύνησης. ## Τρέχουσα πρόοδος {#current-progress} -Οι περισσότερες από τις αναβαθμίσεις που απαιτούνται για το μελλοντικό Ethereum βρίσκονται ακόμα σε **ερευνητικό στάδιο και ενδέχεται να απέχουν αρκετά χρόνια** από την εφαρμογή τους. Αναβαθμίσεις, όπως η κατάργηση της ΑΥΤΟΚΑΤΑΣΤΡΟΦΗΣ και η εναρμόνιση του συστήματος συμπίεσης που χρησιμοποιείται στα λογισμικά πελάτη εκτέλεσης και συναίνεσης, είναι πιθανό να έρθουν νωρίτερα από την κβαντική κρυπτογραφία. +Πολλές από τις μακροπρόθεσμες αναβαθμίσεις που είναι ανθεκτικές στο μέλλον, ιδιαίτερα η **πλήρης κβαντική αντίσταση για τα βασικά πρωτόκολλα, βρίσκονται ακόμη σε ερευνητικό στάδιο και ενδέχεται να απέχουν αρκετά χρόνια** από την εφαρμογή τους. + +Ωστόσο, **έχει ήδη σημειωθεί σημαντική πρόοδος στις προσπάθειες απλοποίησης.** Για παράδειγμα, βασικές αλλαγές όπως ο **περιορισμός του `SELFDESTRUCT` (EIP-6780)** και η εισαγωγή των **συναλλαγών που φέρουν blob (EIP-4844)** εφαρμόστηκαν στην **αναβάθμιση Dencun (Μάρτιος 2024)**. Συνεχίζονται επίσης οι εργασίες για την εναρμόνιση των συστημάτων συμπίεσης πελατών και άλλες βελτιώσεις στην αποδοτικότητα. **Περισσότερες πληροφορίες** - [Κρατήσεις (Gas)](/developers/docs/gas) - [EVM](/developers/docs/evm) -- [Δομές δεδομένων](/developers/docs/data-structures-and-encoding) +- [Δομές δεδομένων](/developers/docs/data-structures-and-encoding) \ No newline at end of file diff --git a/public/content/translations/el/roadmap/scaling/index.md b/public/content/translations/el/roadmap/scaling/index.md index c6d3300a253..ba13a86a555 100644 --- a/public/content/translations/el/roadmap/scaling/index.md +++ b/public/content/translations/el/roadmap/scaling/index.md @@ -1,5 +1,5 @@ --- -title: Επεκτασιμότητα Ethereum +title: Κλιμάκωση του Ethereum description: Συγκέντρωση ομαδικών συναλλαγών εκτός αλυσίδας, μειώνοντας το κόστος για τον χρήστη. Ωστόσο, ο τρόπος με τον οποίο τα πακέτα συναλλαγών χρησιμοποιούν δεδομένα επί του παρόντος είναι πολύ ακριβός, περιορίζοντας το πόσο φθηνές μπορεί να είναι οι συναλλαγές. Αυτό διορθώνεται με το Proto-Danksharding. lang: el image: /images/roadmap/roadmap-transactions.png @@ -32,7 +32,7 @@ template: roadmap Το δεύτερο στάδιο επέκτασης των δεδομένων blob είναι περίπλοκο γιατί απαιτεί νέες μεθόδους για τον έλεγχο της διαθεσιμότητας των δεδομένων rollup στο δίκτυο και βασίζεται σε [επικυρωτές](/glossary/#validator) που διαχωρίζουν τις αρμοδιότητες δημιουργίας [μπλοκ](/glossary/#block) και πρότασης μπλοκ. Απαιτεί επίσης έναν τρόπο για να αποδεικνύεται κρυπτογραφικά ότι οι επικυρωτές έχουν επαληθεύσει μικρά υποσύνολα των δεδομένων blob. -Το δεύτερο βήμα είναι γνωστό ως [«Danksharding»](/roadmap/danksharding/). Η πλήρης εφαρμογή του **απέχει πιθανότατα αρκετά χρόνια**. Το Danksharding βασίζεται σε άλλες εξελίξεις, όπως ο διαχωρισμός [δημιουργίας μπλοκ και της πρότασης μπλοκ](/roadmap/pbs), καθώς και σε νέους σχεδιασμούς δικτύου που επιτρέπουν στο δίκτυο να επιβεβαιώνει αποτελεσματικά τη διαθεσιμότητα των δεδομένων με τυχαία δειγματοληψία λίγων kilobytes κάθε φορά, μια διαδικασία γνωστή ως [δειγματοληψία διαθεσιμότητας δεδομένων (DAS)](/developers/docs/data-availability). +Το δεύτερο βήμα είναι γνωστό ως [«Danksharding»](/roadmap/danksharding/). Οι εργασίες υλοποίησης συνεχίζονται, με την πρόοδο να σημειώνεται σε προαπαιτούμενα όπως ο [διαχωρισμός της δημιουργίας μπλοκ και της πρότασης μπλοκ](/roadmap/pbs) και νέα σχέδια δικτύου που επιτρέπουν στο δίκτυο να επιβεβαιώνει αποτελεσματικά ότι τα δεδομένα είναι διαθέσιμα, λαμβάνοντας τυχαία δειγματοληψία μερικών κιλομπάιτ κάθε φορά, γνωστή ως [δειγματοληψία διαθεσιμότητας δεδομένων (DAS)](/developers/docs/data-availability). Περισσότερα για το Danksharding @@ -44,8 +44,10 @@ template: roadmap ## Τρέχουσα πρόοδος {#current-progress} -Το Proto-Danksharding είναι το πρώτο από αυτά τα στοιχεία του οδικού χάρτη που θα εφαρμοστεί ως μέρος της αναβάθμισης δικτύου Cancun-Deneb (Dencun) τον Μάρτιο του 2024. Η **πλήρης εφαρμογή του Danksharding απέχει πιθανότατα αρκετά χρόνια**, καθώς προϋποθέτει την ολοκλήρωση αρκετών άλλων στοιχείων του οδικού χάρτη. Η αποκέντρωση της υποδομής των rollup είναι πιθανό να είναι μια σταδιακή διαδικασία, ωστόσο υπάρχουν πολλά διαφορετικά rollup που δημιουργούν ελαφρώς διαφορετικά συστήματα και θα αποκεντρωθούν πλήρως με διαφορετικούς ρυθμούς. +Το Proto-Danksharding υλοποιήθηκε με επιτυχία στο πλαίσιο της αναβάθμισης του δικτύου Cancun-Deneb («Dencun») τον Μάρτιο του 2024. Από την εφαρμογή τους, τα πακέτα ενημέρωσης έχουν αρχίσει να χρησιμοποιούν την αποθήκευση blob, με αποτέλεσμα τη μείωση του κόστους συναλλαγών για τους χρήστες και εκατομμύρια συναλλαγές που υποβάλλονται σε επεξεργασία σε blob. -[Περισσότερα για την αναβάθμιση δικτύου Dencun](/roadmap/dencun/) +Οι εργασίες για το πλήρες Danksharding συνεχίζονται, με πρόοδο στις προαπαιτούμενες γνώσεις όπως το PBS (Διαχωρισμός Προτείνοντος-Δημιουργού) και το DAS (Δειγματοληψία Διαθεσιμότητας Δεδομένων). Η αποκέντρωση της υποδομής των rollup είναι μια σταδιακή διαδικασία, ωστόσο υπάρχουν πολλά διαφορετικά rollup που δημιουργούν ελαφρώς διαφορετικά συστήματα και θα αποκεντρωθούν πλήρως με διαφορετικούς ρυθμούς. - +[Περισσότερα για την αναβάθμιση δικτύου Dencun και τις επιπτώσεις](/roadmap/dencun/) + + \ No newline at end of file diff --git a/public/content/translations/el/roadmap/statelessness/index.md b/public/content/translations/el/roadmap/statelessness/index.md new file mode 100644 index 00000000000..3458e0c9c6e --- /dev/null +++ b/public/content/translations/el/roadmap/statelessness/index.md @@ -0,0 +1,103 @@ +--- +title: Statelessness, λήξη κατάστασης και ιστορικού +description: Εξήγηση της λήξης ιστορικού και της μη διατήρησης πλήρους κατάστασης στο Ethereum +lang: el +--- + +# Statelessness, λήξη κατάστασης και ιστορικού {#statelessness} + +Η δυνατότητα εκτέλεσης κόμβων Ethereum με κοινό υλικό είναι κρίσιμη για την πραγματική αποκέντρωση. Αυτό συμβαίνει επειδή η εκτέλεση ενός κόμβου δίνει στους χρήστες τη δυνατότητα να επαληθεύουν πληροφορίες εκτελώντας κρυπτογραφικούς ελέγχους και να μην εμπιστεύονται τρίτο μέρος για την παροχή δεδομένων. Η εκτέλεση ενός κόμβου επιτρέπει στους χρήστες να υποβάλλουν συναλλαγές απευθείας μεταξύ χρηστών στο δίκτυο του Ethereum, αντί να χρειάζεται να εμπιστεύονται έναν ενδιάμεσο. Η αποκέντρωση δεν είναι δυνατή εάν αυτά τα οφέλη είναι διαθέσιμα μόνο σε χρήστες με ακριβό υλικό. Αντίθετα, οι κόμβοι θα πρέπει να μπορούν να εκτελούνται με εξαιρετικά μέτριες απαιτήσεις σε επεξεργαστική ισχύ και μνήμη, ώστε να μπορούν να εκτελούνται σε κινητά τηλέφωνα, μικροϋπολογιστές ή και σε υπολογιστή στο σπίτι. + +Σήμερα, οι υψηλές απαιτήσεις για χώρο στο δίσκο, είναι το κύριο εμπόδιο που εμποδίζει την παγκόσμια πρόσβαση στους κόμβους. Αυτό οφείλεται κυρίως στην ανάγκη αποθήκευσης μεγάλων τμημάτων των δεδομένων κατάστασης του Ethereum. Αυτά τα δεδομένα κατάστασης περιέχουν κρίσιμες πληροφορίες που απαιτούνται για τη σωστή επεξεργασία νέων μπλοκ και συναλλαγών. Αυτή τη στιγμή, συνιστάται ένας γρήγορος 2TB SSD για την εκτέλεση ενός πλήρους κόμβου Ethereum. Για έναν κόμβο που δεν περικόπτει παλαιότερα δεδομένα, η απαίτηση σε αποθηκευτικό χώρο αυξάνεται περίπου στα 14GB ανά εβδομάδα και οι κόμβοι αρχειοθέτησης που αποθηκεύουν όλα τα δεδομένα από τη στιγμή της γένεσης, πλησιάζει τα 12 TB (Φεβρουάριος 2023). + +Μπορούν να χρησιμοποιηθούν φθηνότεροι σκληροί δίσκοι για την αποθήκευση παλαιότερων δεδομένων, αλλά είναι πολύ αργοί για να διαχειριστούν τα εισερχόμενα μπλοκ. Η διατήρηση των υφιστάμενων μοντέλων αποθηκευτικού χώρου για πελάτες, ενώ η αποθήκευση δεδομένων γίνεται φθηνότερα και ευκολότερα, είναι μόνο μια προσωρινή και μερική λύση στο πρόβλημα επειδή η ανάπτυξη κατάστασης του Ethereum είναι «απεριόριστη», πράγμα που σημαίνει ότι οι απαιτήσεις σε αποθηκευτικό χώρο μπορούν μόνο να αυξηθούν και οι τεχνολογικές βελτιώσεις θα πρέπει πάντα να συμβαδίζουν με τη συνεχή ανάπτυξη της κατάστασης. Αντίθετα, οι πελάτες πρέπει να βρουν νέους τρόπους επαλήθευσης μπλοκ και συναλλαγών που δε βασίζονται στην αναζήτηση δεδομένων από τοπικές βάσεις. + +## Μείωση αποθηκευτικού χώρου κόμβων {#reducing-storage-for-nodes} + +Υπάρχουν διάφοροι τρόποι μείωσης του όγκου των δεδομένων που κάθε κόμβος πρέπει να αποθηκεύσει, όπου για τον καθένα απαιτείται ενημέρωση του βασικού πρωτοκόλλου Ethereum σε διαφορετικό βαθμό: + +- **Λήξη ιστορικού (History expiry)**: Επιτρέπει στους κόμβους να απορρίπτουν δεδομένα κατάστασης παλαιότερα από Χ μπλοκ, αλλά δεν αλλάζει τον τρόπο με τον οποίο χειρίζεται τα δεδομένα κατάστασης ο πελάτης Ethereum. +- **Λήξη κατάστασης (State expiry)**: Επιτρέπει στα δεδομένα κατάστασης που δε χρησιμοποιούνται συχνά να χαρακτηριστούν ανενεργά. Τα ανενεργά δεδομένα μπορούν να αγνοηθούν από τους πελάτες μέχρι την επόμενη χρήση τους. +- **Ασθενής λειτουργία χωρίς κατάσταση (Weak statelessness)**: Μόνο οι παραγωγοί μπλοκ χρειάζονται πρόσβαση σε δεδομένα πλήρους κατάστασης καθώς οι υπόλοιποι κόμβοι μπορούν να επαληθεύσουν μπλοκ χωρίς τοπική βάση των δεδομένων κατάστασης. +- **Ισχυρή λειτουργία χωρίς κατάσταση (Strong statelessness)**: Κανένας κόμβος δε χρειάζεται πρόσβαση στα πλήρη δεδομένα κατάστασης. + +## Λήξη δεδομένων {#data-expiry} + +### Λήξη ιστορικού {#history-expiry} + +Η λήξη ιστορικού αναφέρεται σε πελάτες που αφαιρούν τα παλαιότερα δεδομένα που είναι απίθανο να χρειαστούν, έτσι ώστε να αποθηκεύουν μόνο έναν μικρό αριθμό δεδομένων ιστορικού, απορρίπτοντας παλαιότερα δεδομένα κατά τη λήψη νεότερων. Υπάρχουν δύο λόγοι για τους οποίους οι πελάτες απαιτούν δεδομένα ιστορικού: συγχρονισμός και εξυπηρέτηση αιτημάτων δεδομένων. Αρχικά, οι πελάτες έπρεπε να συγχρονιστούν από το μπλοκ γένεσης, επαληθεύοντας ότι κάθε διαδοχικό μπλοκ είναι σωστό μέχρι την κεφαλή της αλυσίδας. Σήμερα, οι πελάτες χρησιμοποιούν «σημεία ελέγχου αδύναμης υποκειμενικότητας» για να οδηγηθούν στην κορυφή της αλυσίδας. Αυτά τα σημεία ελέγχου είναι αξιόπιστα σημεία έναρξης, όπως η ύπαρξη ενός μπλοκ γένεσης κοντά στην τρέχουσα κατάσταση και όχι στην έναρξη του Ethereum. Αυτό σημαίνει ότι οι πελάτες μπορούν να απορρίψουν όλες τις πληροφορίες πριν από το πιο πρόσφατο σημείο ελέγχου αδύναμης υποκειμενικότητας, χωρίς να χάσουν τη δυνατότητα συγχρονισμού με την κεφαλή της αλυσίδας. Επί του παρόντος, οι πελάτες εξυπηρετούν αιτήματα (που φτάνουν μέσω JSON-RPC) για δεδομένα ιστορικού, συλλέγοντάς τα από τις τοπικές βάσεις δεδομένων τους. Ωστόσο, με τη λήξη του ιστορικού αυτό δε θα είναι δυνατό εάν τα ζητούμενα δεδομένα έχουν περικοπεί. Η διάθεση αυτών των δεδομένων ιστορικού πραγματοποιείται όπου απαιτούνται καινοτόμες λύσεις. + +Μια επιλογή είναι οι πελάτες να ζητούν δεδομένα ιστορικού από ομοτίμους χρησιμοποιώντας μια λύση όπως το Δίκτυο Portal. Το Δίκτυο Portal είναι ένα υπό ανάπτυξη δίκτυο peer-to-peer για την εξυπηρέτηση δεδομένων ιστορικού, όπου κάθε κόμβος αποθηκεύει ένα μικρό κομμάτι της ιστορίας του Ethereum έτσι ώστε ολόκληρο το ιστορικό να υπάρχει κατανεμημένο σε όλο το δίκτυο. Τα αιτήματα εξυπηρετούνται αναζητώντας ομοτίμους που αποθηκεύουν τα σχετικά δεδομένα και ζητώντας τα από αυτούς. Εναλλακτικά, δεδομένου ότι οι εφαρμογές απαιτείται να έχουν πρόσβαση σε δεδομένα ιστορικού, μπορεί να είναι δική τους ευθύνη να τα αποθηκεύσουν. Μπορεί επίσης να υπάρχουν αρκετά αλτρουιστικά άτομα στον χώρο του Ethereum που θα ήταν πρόθυμοι να διατηρήσουν ιστορικά αρχεία. Θα μπορούσε να είναι ένα DAO που ενδιαφέρεται για τη διαχείριση της αποθήκευσης δεδομένων ιστορικού ή ιδανικά ένας συνδυασμός όλων αυτών των επιλογών. Αυτοί οι πάροχοι θα μπορούσαν να εξυπηρετήσουν τα δεδομένα με πολλούς τρόπους, όπως σε ένα torrent, FTP, Filecoin ή IPFS. + +Η λήξη του ιστορικού είναι κάπως αμφιλεγόμενη επειδή μέχρι στιγμής το Ethereum εγγυάται πάντα έμμεσα τη διαθεσιμότητα οποιωνδήποτε δεδομένων ιστορικού. Ένας πλήρης συγχρονισμός από τη γένεση ήταν πάντα δυνατός ως καθιερωμένο, ακόμα και αν βασίζεται στην ανακατασκευή κάποιων παλαιότερων δεδομένων από διάφορα στιγμιότυπα. Η λήξη του ιστορικού μεταφέρει την ευθύνη για την παροχή αυτής της εγγύησης εκτός του βασικού πρωτοκόλλου Ethereum. Αυτό θα μπορούσε να δημιουργήσει νέους κινδύνους λογοκρισίας, εάν οι κεντρικοί οργανισμοί καταλήξουν να παρέμβουν στην παροχή ιστορικών δεδομένων. + +Το EIP-4444 δεν είναι ακόμη έτοιμο για δημοσίευση, αλλά βρίσκεται υπό ενεργή συζήτηση. Είναι ενδιαφέρον ότι οι προκλήσεις με το EIP-4444 δεν είναι τόσο τεχνικές όσο η διαχείριση της κοινότητας. Προκειμένου αυτό να δημοσιευθεί, πρέπει να υπάρχει συμμετοχή στην κοινότητα που να περιλαμβάνει όχι μόνο συμφωνία αλλά και δεσμεύσεις για τον τρόπο αποθήκευσης και εξυπηρέτησης των δεδομένων ιστορικού από αξιόπιστες οντότητες. + +Αυτή η αναβάθμιση ουσιαστικά δεν αλλάζει τον τρόπο με τον οποίο οι κόμβοι Ethereum χειρίζονται τα δεδομένα κατάστασης, απλώς αλλάζει τον τρόπο πρόσβασης στα δεδομένα ιστορικού. + +### Λήξη κατάστασης {#state-expiry} + +Η λήξη κατάστασης αναφέρεται στην αφαίρεση της κατάστασης του δικτύου από μεμονωμένους κόμβους, εάν δεν έχει χρησιμοποιηθεί πρόσφατα. Υπάρχουν διάφοροι τρόποι που θα μπορούσε να εφαρμοστεί, όπως: + +- **Λήξη με ενοικίαση (Expire by rent)**: Χρέωση σε λογαριασμούς με «ενοίκιο» και λήξη όταν το ενοίκιο τους μηδενιστεί. +- **Χρονική λήξη (Expire by time)**: Χαρακτηρίζοντας λογαριασμούς ανενεργούς εάν δεν υπάρχει ανάγνωση/εγγραφή για κάποιο χρονικό διάστημα. + +Η λήξη με ενοικίαση θα μπορούσε να είναι ένα άμεσο ενοίκιο που χρεώνεται σε λογαριασμούς για να διατηρηθούν στην ενεργή βάση δεδομένων κατάστασης. Η χρονική λήξη μπορεί να είναι με αντίστροφη μέτρηση από την τελευταία αλληλεπίδραση λογαριασμού ή μπορεί να είναι περιοδική λήξη όλων των λογαριασμών. Θα μπορούσαν επίσης να υπάρχουν μηχανισμοί που συνδυάζουν στοιχεία τόσο του χρόνου όσο και του μοντέλου βασισμένου στο ενοίκιο, για παράδειγμα μεμονωμένοι λογαριασμοί παραμένουν σε ενεργή κατάσταση εάν πληρώσουν κάποια μικρή προμήθεια πριν από τη λήξη του χρόνου. Με τη λήξη της κατάστασης είναι σημαντικό να σημειωθεί ότι η μη ενεργή κατάσταση **δεν διαγράφεται**, απλώς αποθηκεύεται ξεχωριστά από την τρέχουσα κατάσταση. Η μη ενεργή κατάσταση μπορεί να επανέλθει στην ενεργή κατάσταση. + +Ο τρόπος με τον οποίο θα λειτουργούσε αυτό είναι πιθανώς να έχετε ένα δέντρο κατάστασης για συγκεκριμένες χρονικές περιόδους (ίσως ~ 1 έτος). Κάθε φορά που ξεκινά μια νέα περίοδος, κάνει το ίδιο και ένα νέο δέντρο κατάστασης. Μόνο το τρέχον δέντρο κατάστασης μπορεί να τροποποιηθεί, όλα τα άλλα είναι αμετάβλητα. Οι κόμβοι Ethereum αναμένεται να διατηρούν μόνο το τρέχον δέντρο κατάστασης και το επόμενο πιο πρόσφατο. Αυτό απαιτεί έναν τρόπο για τη χρονική σήμανση μιας διεύθυνσης με την περίοδο στην οποία υπάρχει. Υπάρχουν [διάφοροι πιθανοί τρόποι](https://ethereum-magicians.org/t/types-of-resurrection-metadata-in-state-expiry/6607) για να γίνει αυτό, αλλά η κύρια επιλογή απαιτεί [επιμήκυνση των διευθύνσεων](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485) για να χωρέσουν οι πρόσθετες πληροφορίες με το πλεονέκτημα ότι οι μεγαλύτερες διευθύνσεις είναι πολύ πιο ασφαλείς. Το στοιχείο του οδικού χάρτη που το εφαρμόζει ονομάζεται [επέκταση χώρου διεύθυνσης](https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485). + +Ομοίως, με τη λήξη του ιστορικού η ευθύνη λήξης της κατάστασης για την αποθήκευση παλαιών δεδομένων κατάστασης αφαιρείται από μεμονωμένους χρήστες και προωθείται σε άλλες οντότητες, όπως κεντρικούς παρόχους, αλτρουιστικά μέλη της κοινότητας ή πιο φουτουριστικές αποκεντρωμένες λύσεις, όπως το Δίκτυο Portal. + +Η λήξη κατάστασης βρίσκεται ακόμη στο στάδιο της έρευνας και δεν είναι ακόμη έτοιμη για δημοσίευση. Η λήξη κατάστασης μπορεί να συμβεί αργότερα από τη λήξη των πελατών χωρίς κατάσταση και του ιστορικού, επειδή οι αναβαθμίσεις καθιστούν τα μεγάλα μεγέθη κατάστασης εύκολα διαχειρίσιμα για την πλειοψηφία των επικυρωτών. + +## Statelessness {#statelessness} + +Η λειτουργία χωρίς κατάσταση είναι λίγο λανθασμένη ονομασία γιατί δε σημαίνει ότι η έννοια της «κατάστασης» εξαλείφεται, αλλά περιλαμβάνει αλλαγές στον τρόπο με τον οποίο οι κόμβοι Ethereum χειρίζονται τα δεδομένα κατάστασης. Η ίδια η λειτουργία χωρίς κατάσταση έχει δύο πλευρές: την ασθενή και την ισχυρή λειτουργία χωρίς κατάσταση. Η ασθενής λειτουργία χωρίς κατάσταση δίνει τη δυνατότητα στους περισσότερους κόμβους να μένουν χωρίς κατάσταση, αναθέτοντας την ευθύνη για την αποθήκευση κατάστασης σε λίγους. Η ισχυρή λειτουργία χωρίς κατάσταση καταργεί εντελώς την ανάγκη για οποιονδήποτε κόμβο να αποθηκεύει τα πλήρη δεδομένα κατάστασης. Τόσο η ασθενής όσο και η ισχυρή λειτουργία χωρίς κατάσταση προσφέρουν τα ακόλουθα οφέλη στους κανονικούς επικυρωτές: + +- Σχεδόν άμεσο συγχρονισμό. +- Δυνατότητα επικύρωσης μπλοκ εκτός σειράς. +- Κόμβοι που μπορούν να εκτελούνται με πολύ χαμηλές απαιτήσεις υλικού (π.χ. σε τηλέφωνα). +- Οι κόμβοι μπορούν να εκτελούνται από φθηνούς σκληρούς δίσκους επειδή δεν απαιτείται ανάγνωση/εγγραφή δίσκου. +- Συμβατότητα με μελλοντικές αναβαθμίσεις στην κρυπτογράφηση του Ethereum. + +### Ασθενής λειτουργία χωρίς κατάσταση {#weak-statelessness} + +Η ασθενής λειτουργία χωρίς κατάσταση συνεπάγεται αλλαγές στον τρόπο με τον οποίο οι κόμβοι Ethereum επαληθεύουν τις αλλαγές κατάστασης, αλλά δεν εξαλείφει εντελώς την ανάγκη αποθήκευσης της κατάστασης σε όλους τους κόμβους του δικτύου. Αντίθετα, η ασθενής λειτουργία χωρίς κατάσταση θέτει την ευθύνη για την αποθήκευση κατάστασης στους προτείνοντες μπλοκ, ενώ όλοι οι άλλοι κόμβοι στο δίκτυο επαληθεύουν μπλοκ χωρίς να αποθηκεύουν τα πλήρη δεδομένα κατάστασης. + +**Στην περίπτωση ασθενής λειτουργία χωρίς κατάσταση, τα προτεινόμενα μπλοκ απαιτούν πρόσβαση σε δεδομένα πλήρους κατάστασης, αλλά η επαλήθευση μπλοκ δεν απαιτεί δεδομένα κατάστασης** + +Για να συμβεί αυτό, τα [Verkle trees](/roadmap/verkle-trees/) πρέπει να έχουν ήδη εφαρμοστεί σε πελάτες Ethereum. Τα δέντρα Verkle είναι μια δομή δεδομένων αντικατάστασης για την αποθήκευση δεδομένων κατάστασης Ethereum που επιτρέπουν σε μικρού μεγέθους "μάρτυρες" στα δεδομένα να διαβιβάζονται μεταξύ ομοτίμων και να χρησιμοποιούνται για την επαλήθευση μπλοκ αντί για επαλήθευση μπλοκ σε τοπικές βάσεις δεδομένων. Ο [διαχωρισμός πρωτείνοντος - δημιουργού](/roadmap/pbs/) απαιτείται επειδή επιτρέπει στους δημιουργούς μπλοκ να είναι εξειδικευμένοι κόμβοι με πιο ισχυρό υλικό και αυτοί είναι που απαιτούν πρόσβαση στα πλήρη δεδομένα κατάστασης. + + + +Η λειτουργία χωρίς κατάσταση βασίζεται στο ότι οι δημιουργοί μπλοκ διατηρούν αντίγραφο των πλήρων δεδομένων κατάστασης, έτσι ώστε να μπορούν να δημιουργήσουν μάρτυρες που μπορούν να χρησιμοποιηθούν για την επαλήθευση του μπλοκ. Άλλοι κόμβοι δε χρειάζονται πρόσβαση στα δεδομένα κατάστασης, όλες οι πληροφορίες που απαιτούνται για την επαλήθευση του μπλοκ είναι διαθέσιμες στον μάρτυρα. Αυτό δημιουργεί μια κατάσταση όπου η πρόταση ενός μπλοκ είναι ακριβή, αλλά η επαλήθευση του μπλοκ είναι φθηνή, πράγμα που σημαίνει ότι λιγότεροι χειριστές θα εκτελέσουν έναν κόμβο πρότασης μπλοκ. Ωστόσο, η αποκέντρωση των προτεινόμενων μπλοκ δεν είναι κρίσιμη, εφόσον όσο το δυνατόν περισσότεροι συμμετέχοντες μπορούν να επαληθεύσουν ανεξάρτητα ότι τα μπλοκ που προτείνουν είναι έγκυρα. + +Διαβάστε περισσότερα στις σημειώσεις του Dankrad. + + +Οι προτείνοντες μπλοκ χρησιμοποιούν τα δεδομένα κατάστασης για να δημιουργήσουν "μάρτυρες", το ελάχιστο σύνολο δεδομένων που αποδεικνύουν τις αξίες της κατάστασης που αλλάζουν από τις συναλλαγές σε ένα μπλοκ. Άλλα προγράμματα επικύρωσης δε διατηρούν την κατάσταση, αποθηκεύουν μόνο το root κατάστασης (ένα hash ολόκληρης της κατάστασης). Λαμβάνουν ένα μπλοκ και έναν μάρτυρα και τα χρησιμοποιούν για να ενημερώσουν το root κατάστασης τους. Αυτό κάνει έναν κόμβο επικύρωσης εξαιρετικά ελαφρύ. + +Η ασθενής λειτουργία χωρίς κατάσταση βρίσκεται σε προηγμένη κατάσταση έρευνας, αλλά βασίζεται στον διαχωρισμό προτείνοντα - δημιουργού και τα δέντρα Verkle που έχουν εφαρμοστεί έτσι ώστε να μπορούν να περάσουν μικροί μάρτυρες μεταξύ χρηστών. Αυτό σημαίνει ότι η ασθενής λειτουργία χωρίς κατάσταση είναι πιθανώς μερικά χρόνια μακριά από το Ethereum Mainnet. + +### Ισχυρή λειτουργία χωρίς κατάσταση {#strong-statelessness} + +Η ισχυρή λειτουργία χωρίς κατάσταση καταργεί την ανάγκη οποιουδήποτε κόμβου να αποθηκεύει δεδομένα κατάστασης. Αντίθετα, οι συναλλαγές αποστέλλονται με μάρτυρες που μπορούν να συγκεντρωθούν από τους παραγωγούς μπλοκ. Οι δημιουργοί μπλοκ είναι υπεύθυνοι για την αποθήκευση μόνο εκείνης της κατάστασης που απαιτείται για τη δημιουργία μαρτύρων για σχετικούς λογαριασμούς. Η ευθύνη για την κατάσταση μεταφέρεται σχεδόν εξ ολοκλήρου στους χρήστες, καθώς στέλνουν μάρτυρες και «λίστες πρόσβασης» για να δηλώσουν με ποιους λογαριασμούς και κλειδιά αποθήκευσης αλληλεπιδρούν. Αυτό θα επέτρεπε εξαιρετικά ελαφρούς κόμβους, αλλά υπάρχουν συμβιβασμοί, συμπεριλαμβανομένης της δυσκολότερης συναλλαγής με έξυπνα συμβόλαια. + +Η ισχυρή λειτουργία χωρίς κατάσταση έχει διερευνηθεί από ερευνητές, αλλά επί του παρόντος δεν αναμένεται να είναι μέρος του οδικού χάρτη του Ethereum καθώς είναι πιο πιθανό ότι η ασθενής λειτουργία χωρίς κατάσταση είναι επαρκής για τις ανάγκες κλιμάκωσης του Ethereum. + +## Τρέχουσα πρόοδος {#current-progress} + +Η ασθενής λειτουργία χωρίς κατάσταση, η λήξη του ιστορικού και η λήξη κατάστασης βρίσκονται όλα στη φάση της έρευνας και αναμένεται να είναι έτοιμα σε αρκετά χρόνια από τώρα. Δεν υπάρχει καμία εγγύηση ότι όλες αυτές οι προτάσεις θα εφαρμοστούν, για παράδειγμα εάν πρώτα εφαρμοστεί η λήξη της κατάστασης, ενδέχεται να μη χρειάζεται να εφαρμοστεί και η λήξη ιστορικού. Υπάρχουν επίσης άλλα στοιχεία οδικού χάρτη ανάπτυξης, όπως τα [Verkle Trees](/roadmap/verkle-trees) και [Proposer-builder separation](/roadmap/pbs) που πρέπει να ολοκληρωθούν πρώτα. + +## Περισσότερες πληροφορίες {#further-reading} + +- [Συνέντευξη του Vitalik για τη λειτουργία χωρίς κατάσταση](https://www.reddit.com/r/ethereum/comments/o9s15i/impromptu_technical_ama_on_statelessness_and/) +- [Θεωρία διαχείρισης του μεγέθους κατάστασης](https://hackmd.io/@vbuterin/state_size_management) +- [Σχέση κατάστασης επαναφοράς - διένεξης - ελαχιστοποίησης](https://ethresear.ch/t/resurrection-conflict-minimized-state-bounding-take-2/8739) +- [Τρόποι προς τη λειτουργία χωρίς κατάσταση και λήξη κατάστασης](https://hackmd.io/@vbuterin/state_expiry_paths) +- [Προδιαγραφή EIP-4444](https://eips.ethereum.org/EIPS/eip-4444) +- [Alex Stokes για το EIP-4444](https://youtu.be/SfDC_qUZaos) +- [Γιατί είναι σημαντική η μετάβαση σε λειτουργία χωρίς κατάσταση](https://dankradfeist.de/ethereum/2021/02/14/why-stateless.html) +- [Αρχικές σημειώσεις σχεδίου για πελάτη χωρίς κατάσταση](https://ethresear.ch/t/the-stateless-client-concept/172) +- [Περισσότερα για τη λήξη κατάστασης](https://hackmd.io/@vbuterin/state_size_management#A-more-moderate-solution-state-expiry) +- [Ακόμη περισσότερα για τη λήξη κατάστασης](https://hackmd.io/@vbuterin/state_expiry_paths#Option-2-per-epoch-state-expiry) diff --git a/public/content/translations/el/security/index.md b/public/content/translations/el/security/index.md index a9c534910ae..9fbabd3d503 100644 --- a/public/content/translations/el/security/index.md +++ b/public/content/translations/el/security/index.md @@ -1,48 +1,295 @@ --- -title: Ένα ποιο ασφαλές Ethereum -description: Το Ethereum είναι η πιο ασφαλής και αποκεντρωμένη πλατφόρμα έξυπνων συμβολαίων που υπάρχει. Ωστόσο, υπάρχουν ακόμα βελτιώσεις που μπορούν να γίνουν έτσι ώστε το Ethereum να παραμείνει ανθεκτικό σε οποιοδήποτε επίπεδο επίθεσης για πολύ καιρό στο μέλλον. +title: Ασφάλεια του Ethereum και πρόληψη κατά της απάτης +description: Μείνετε ασφαλείς στο Ethereum lang: el -image: /images/roadmap/roadmap-security.png -alt: "Οδικός χάρτης" -template: roadmap --- -Το **Ethereum είναι ήδη μια πολύ ασφαλής** και αποκεντρωμένη πλατφόρμα [έξυπνων συμβολαίων](/glossary/#smart-contract). Ωστόσο, υπάρχουν ακόμα περιθώρια βελτίωσης ώστε το Ethereum να παραμείνει ανθεκτικό σε κάθε είδους επίθεση και στο μακρινό μέλλον. Αυτές οι βελτιώσεις περιλαμβάνουν μικρές αλλαγές στον τρόπο με τον οποίο οι [εφαρμογές πελάτη Ethereum](/glossary/#consensus-client) διαχειρίζονται την ολοκλήρωση των [μπλοκ](/glossary/#block), καθώς και την αύξηση της ταχύτητας με την οποία το δίκτυο θεωρεί τα μπλοκ ως [οριστικοποιημένα](/developers/docs/consensus-mechanisms/pos/#finality) (δηλαδή δεν μπορούν να αλλάξουν χωρίς εξαιρετικά οικονομικές απώλειες για έναν επιτιθέμενο). +# Ασφάλεια του Ethereum και πρόληψη κατά της απάτης {#introduction} -Υπάρχουν επίσης βελτιώσεις που δυσκολεύουν πολύ περισσότερο τη λογοκρισία συναλλαγών, κάνοντας αυτούς που προτείνουν νέο μπλοκ να μην μπορούν να δουν το πραγματικό περιεχόμενο των μπλοκ τους, καθώς και νέους τρόπους για τον εντοπισμό πελατών που λογοκρίνουν. Συνολικά, αυτές οι βελτιώσεις θα αναβαθμίσουν το πρωτόκολλο [Απόδειξης συμμετοχής](/glossary/#pos) έτσι ώστε οι χρήστες, από άτομα έως εταιρείες, να έχουν άμεση εμπιστοσύνη στις εφαρμογές, τα δεδομένα και τα περιουσιακά τους στοιχεία στο Ethereum. +Το αυξανόμενο ενδιαφέρον για τα κρυπτονομίσματα συνεπάγεται αυξανόμενο κίνδυνο από απατεώνες και χάκερ. Αυτό το άρθρο παρουσιάζει ορισμένες βέλτιστες πρακτικές για τον μετριασμό αυτών των κινδύνων. -## Αναλήψεις από αποθηκευμένο κεφάλαιο {#staking-withdrawals} +**Να θυμάστε: Κανείς από το ethereum.org δε θα επικοινωνήσει ποτέ μαζί σας. Μην απαντάτε σε email λέγοντας ότι προέρχονται από την επίσημη υποστήριξη του Ethereum.** -Η μετάβαση από την [απόδειξη εργασίας](/glossary/#pow) σε απόδειξη συμμετοχής ξεκίνησε με τους πρωτοπόρους του Ethereum να «αποθηκεύουν» (staking) τα ETH τους σε ένα ειδικό έξυπνο συμβόλαιο. Αυτά τα ETH χρησιμοποιείται για την προστασία του δικτύου. Στις 12 Απριλίου 2023 υπήρξε μια δεύτερη αναβάθμιση που επιτρέπει την ανάληψη των «αποθηκευμένων» ETH. Από τότε, οι επικυρωτές μπορούν ελεύθερα να «αποθηκεύσουν» ή να αποσύρουν τα ETH τους. + -Δείτε περισσότερα για τις αναλήψεις +## Ασφάλεια κρυπτονομισμάτων 101 {#crypto-security} -## Άμυνα κατά των επιθέσεων {#defending-against-attacks} +### Εμπλουτίστε τις γνώσεις σας {#level-up-your-knowledge} -Μπορούν να γίνουν βελτιώσεις στο πρωτόκολλο απόδειξης συμμετοχής του Ethereum. Μία από αυτές είναι γνωστή ως [view-merge](https://ethresear.ch/t/view-merge-as-a-replacement-for-proposer-boost/13739), ένας πιο ασφαλής αλγόριθμος επιλογής διακλάδωσης [(fork-choice)](/glossary/#fork) που δυσκολεύει ορισμένους πολύπλοκους τύπους επίθεσης. +Η λανθασμένη κατανόηση σχετικά με το πώς λειτουργούν τα κρυπτονομίσματα μπορεί να οδηγήσουν σε δαπανηρά λάθη. Για παράδειγμα, εάν κάποιος προσποιείται ότι είναι ένας υπάλληλος εξυπηρέτησης πελατών που μπορεί να επιστρέψει τα χαμένα ETH με αντάλλαγμα τα ιδιωτικά σας κλειδιά, πλήττει ανθρώπους που δεν καταλαβαίνουν ότι το Ethereum είναι ένα αποκεντρωμένο δίκτυο που δε διαθέτει αυτού του είδους τη λειτουργικότητα. Το να εκπαιδεύσετε τον εαυτό σας για το πώς λειτουργεί το Ethereum είναι μια αξιόλογη επένδυση. -Η μείωση του χρόνου που απαιτεί το Ethereum για την [οριστικοποίηση](/glossary/#finality) των μπλοκ θα παρέδιδε μια καλύτερη εμπειρία χρήστη και θα απέτρεπε περίπλοκες επιθέσεις «reorg» όπου οι επιτιθέμενοι προσπαθούν να ανακατατάξουν πολύ πρόσφατα μπλοκ για να αποκομίσουν κέρδος ή να λογοκρίνουν ορισμένες συναλλαγές. [**Το Single Slot Finality (SSF)**](/roadmap/single-slot-finality/) είναι ένας **τρόπος ελαχιστοποίησης της καθυστέρησης οριστικοποίησης**. Αυτή τη στιγμή υπάρχουν 15 λεπτά «worth of blocks» που ένας επιτιθέμενος θα μπορούσε θεωρητικά να πείσει άλλους επικυρωτές να αναδιαμορφώσουν. Με το SSF, αυτός ο χρόνος είναι 0. Οι χρήστες, από άτομα έως εφαρμογές και ανταλλακτήρια, ωφελούνται από τη γρήγορη διαβεβαίωση ότι οι συναλλαγές τους δε θα αναστραφούν και το δίκτυο ωφελείται από τον τερματισμό ολόκληρης κατηγορίας επιθέσεων. + + Τι είναι το Ethereum; + -Διαβάστε περισσότερα για την οριστικοποίηση απλής θέσης + + Τι είναι το ether; + + -## Άμυνα κατά της λογοκρισίας {#defending-against-censorship} +## Ασφάλεια πορτοφολιού {#wallet-security} -Η αποκέντρωση εμποδίζει άτομα ή μικρές ομάδες [επικυρωτών](/glossary/#validator) να αποκτήσουν υπερβολική επιρροή. Νέες τεχνολογίες αποθήκευσης μπορούν να βοηθήσουν στη διασφάλιση της μέγιστης δυνατής αποκέντρωσης των επικυρωτών του Ethereum, ενώ παράλληλα τους υπερασπίζονται από αποτυχίες υλικού, λογισμικού και δικτύου. Αυτό περιλαμβάνει λογισμικό που μοιράζει τις ευθύνες των επικυρωτών σε πολλούς [κόμβους](/glossary/#node). Αυτό είναι γνωστό ως **τεχνολογία κατανεμημένου επικυρωτή (Distributed Validator Technology - DVT)**. Οι [Δεξαμενές αποθήκευσης](/glossary/#staking-pool) έχουν κίνητρο να χρησιμοποιούν το DVT επειδή επιτρέπει σε πολλούς υπολογιστές να συμμετέχουν συλλογικά στην επικύρωση, προσθέτοντας εφεδρεία και ανθεκτικότητα σε σφάλματα. Επίσης, διαχωρίζει τα κλειδιά επικυρωτή σε διάφορα συστήματα, αντί να έχει μεμονωμένους χειριστές να εκτελούν πολλούς επικυρωτές. Αυτό δυσκολεύει τους ανέντιμους χειριστές να συντονίσουν επιθέσεις στο Ethereum. Συνολικά, η ιδέα είναι να αποκτηθούν οφέλη ασφαλείας με τη λειτουργία των επικυρωτών ως _κοινότητες_ και όχι ως άτομα. +### Μην κοινοποιείτε τα ιδιωτικά κλειδιά σας {#protect-private-keys} -Διαβάστε περισσότερα για την τεχνολογία κατανεμημένου επικυρωτή +**Ποτέ και για οποιονδήποτε λόγο μη διαμοιράσετε τα ιδιωτικά σας κλειδιά!** -Η εφαρμογή διαχωρισμού **φορέα πρότασης και δημιουργού μπλοκ (proposer-builder separation - PBS)** θα βελτιώσει δραστικά τις ενσωματωμένες άμυνες του Ethereum κατά της λογοκρισίας. Το PBS επιτρέπει σε έναν επικυρωτή να δημιουργεί ένα μπλοκ και σε έναν άλλον να το μεταδώσει σε ολόκληρο το δίκτυο Ethereum. Αυτό εξασφαλίζει ότι τα οφέλη από τους επαγγελματικούς αλγόριθμους δημιουργίας μπλοκ που μεγιστοποιούν τα κέρδη μοιράζονται πιο δίκαια σε όλο το δίκτυο, **αποτρέποντας τη μακροπρόθεσμη συγκέντρωση του αποθηκευμένου κεφαλαίου** στους πιο αποδοτικούς θεσμικούς χρήστες με αποθηκευμένο κεφάλαιο. Ο χρήστης που προτείνει νέο μπλοκ επιλέγει το πιο επικερδές μπλοκ που του προσφέρεται από μια αγορά δημιουργών μπλοκ. Για να λογοκρίνει, ένας χρήστης που προτείνει μπλοκ θα έπρεπε συχνά να επιλέξει ένα λιγότερο επικερδές μπλοκ, κάτι που θα ήταν **οικονομικά παράλογο και επίσης προφανές στους υπόλοιπους επικυρωτές** του δικτύου. +Το ιδιωτικό κλειδί του πορτοφολιού σας είναι ο κωδικός πρόσβασης στο πορτοφόλι Ethereum σας. Είναι το μόνο πράγμα που εμποδίζει κάποιον που γνωρίζει τη διεύθυνση του πορτοφολιού σας να αφαιρέσει από τον λογαριασμό σας από όλα τα περιουσιακά του στοιχεία! -Υπάρχουν πιθανά πρόσθετα στο PBS, όπως κρυπτογραφημένες συναλλαγές και λίστες συμπερίληψης, που θα μπορούσαν να βελτιώσουν περαιτέρω την ανθεκτικότητα του Ethereum στη λογοκρισία. Αυτά καθιστούν τον δημιουργό και τον φορέα πρότασης μπλοκ τυφλούς στις πραγματικές συναλλαγές που περιλαμβάνονται στα μπλοκ τους. + + Τι είναι το πορτοφόλι Ethereum; + -Διαβάστε περισσότερα για τον διαχωρισμό χρήστη πρότασης και δημιουργού μπλοκ +#### Μη λαμβάνετε στιγμιότυπο οθόνης των λέξεων ασφαλείας/ιδιωτικών κλειδιών {#screenshot-private-keys} -## Προστασία επικυρωτών {#protecting-validators} +Η λήψη στιγμιότυπου οθόνης των μυστικών λέξεων επαναφοράς ή των ιδιωτικών κλειδιών σας μπορεί να συγχρονιστεί με έναν πάροχο δεδομένων cloud, κάτι που θα μπορούσε να τα κάνει προσβάσιμα σε χάκερ. Η απόκτηση ιδιωτικών κλειδιών από το cloud είναι ένας κοινός φορέας επίθεσης για τους χάκερ. -Είναι πιθανό ένας προχωρημένος χρήστης που επιτίθεται να μπορέσει να εντοπίσει τους επόμενους επικυρωτές και να τους στείλει ανεπιθύμητα μηνύματα για να τους εμποδίσει να προτείνουν μπλοκ. Αυτό είναι γνωστό ως επίθεση **άρνησης υπηρεσίας (DoS)**. Η εφαρμογή της [**μυστικής εκλογής αρχηγού (secret leader election - SLE)**](/roadmap/secret-leader-election) θα προστατεύσει από αυτόν τον τύπο επίθεσης, αποτρέποντας την εκ των προτέρων γνώση των φορέων πρότασης μπλοκ. Αυτό λειτουργεί με τη συνεχή ανάμειξη ενός συνόλου κρυπτογραφικών δεσμεύσεων που αντιπροσωπεύουν υποψήφιους χρήστες πρότασης μπλοκ και χρησιμοποιώντας τη σειρά τους για να καθοριστεί ποιος επικυρωτής επιλέγεται με τέτοιο τρόπο ώστε μόνο οι ίδιοι οι επικυρωτές να γνωρίζουν εκ των προτέρων τη σειρά τους. +### Χρήση μιας συσκευής πορτοφολιού {#use-hardware-wallet} -Διαβάστε περισσότερα για τη μυστική εκλογή αρχηγού +Ένα πορτοφόλι υλικού παρέχει αποθήκευση εκτός σύνδεσης για ιδιωτικά κλειδιά. Θεωρούνται η πιο ασφαλής επιλογή πορτοφολιού για την αποθήκευση των ιδιωτικών κλειδιών σας: το ιδιωτικό σας κλειδί δεν επικοινωνεί ποτέ με το διαδίκτυο και παραμένει τοπικά στη συσκευή σας. -## Τρέχουσα πρόοδος {#current-progress} +Η διατήρηση των ιδιωτικών κλειδιών εκτός σύνδεσης μειώνει σε μεγάλο βαθμό τον κίνδυνο χακαρίσματος, ακόμα και αν ένας χάκερ πάρει τον έλεγχο του υπολογιστή σας. -Οι **αναβαθμίσεις ασφαλείας στο οδικό χάρτη βρίσκονται σε προχωρημένα στάδια έρευνας**, αλλά δεν αναμένεται να εφαρμοστούν για αρκετό καιρό. Τα επόμενα βήματα για το view-merge, PBS, SSF και SLE είναι να οριστικοποιηθεί μια προδιαγραφή και να ξεκινήσει η κατασκευή πρωτοτύπων. +#### Δοκιμάστε μια συσκευή πορτοφολιού: {#try-hardware-wallet} + +- [Ledger](https://www.ledger.com/) +- [Trezor](https://trezor.io/) + +### Ελέγξτε ξανά τις συναλλαγές σας πριν από την αποστολή {#double-check-transactions} + +Η αποστολή κρυπτονομισμάτων σε λάθος διεύθυνση πορτοφολιού είναι ένα συνηθισμένο λάθος. **Μια συναλλαγή που εκτελείται στο Ethereum είναι μη αναστρέψιμη.** Εκτός εάν γνωρίζετε τον κάτοχο της διεύθυνσης και μπορείτε να τον πείσετε να σας επιστρέψει το κεφάλαιό σας, δεν υπάρχει τρόπος να ανακτήσετε τα χρήματά σας. + +Να βεβαιώνεστε πάντα ότι η διεύθυνση προς την οποία στέλνετε συμπίπτει ακριβώς με τη διεύθυνση του επιθυμητού παραλήπτη πριν στείλετε μια συναλλαγή. Μια καλή πρακτική είναι επίσης, όταν αλληλεπιδράτε με ένα έξυπνο συμβόλαιο, να διαβάσετε το μήνυμα της συναλλαγής πριν το υπογράψετε. + +### Ορίστε όριο δαπανών του έξυπνου συμβολαίου {#spend-limits} + +Όταν αλληλεπιδράτε με έξυπνα συμβόλαια, μην επιτρέπετε όρια απεριόριστων δαπανών. Ένα απεριόριστο όριο δαπανών θα μπορούσε να επιτρέψει στο έξυπνο συμβόλαιο να αδειάσει το πορτοφόλι σας. Αντίθετα, ορίστε όρια δαπανών μόνο για το ποσό που είναι απαραίτητο για τη συναλλαγή. + +Πολλά πορτοφόλια Ethereum προσφέρουν προστασία ορίων για να αποτρέψουν την εξάντληση των λογαριασμών. + +[Πώς να ανακαλέσετε την πρόσβαση ενός έξυπνου συμβολαίου στο κεφάλαιο κρυπτονομισμάτων σας](/guides/how-to-revoke-token-access/) + + + +## Συχνές απάτες {#common-scams} + +Είναι αδύνατο να σταματήσουμε εντελώς τους απατεώνες, αλλά μπορούμε να τους κάνουμε λιγότερο αποτελεσματικούς γνωρίζοντας τις πιο χρησιμοποιούμενες τεχνικές τους. Υπάρχουν πολλές παραλλαγές αυτών των απατών, αλλά γενικά ακολουθούν τα ίδια μοτίβα υψηλού επιπέδου. Εάν δεν υπάρχει τίποτα άλλο, να θυμάστε: + +- Να είστε πάντα επιφυλακτικοί. +- Κανείς δε θα σας δώσει δωρεάν ή με μειωμένη τιμή ETH. +- Κανείς δε χρειάζεται πρόσβαση στα ιδιωτικά σας κλειδιά ή στα προσωπικά σας στοιχεία. + +### Twitter απάτες μέσω διαφημίσεων {#ad-phishing} + +![Πλαστογράφηση συνδέσμων στο Twitter](./twitterPhishingScam.png) + +Υπάρχει μια μέθοδος πλαστογράφησης της λειτουργίας προεπισκόπησης συνδέσμων του Twitter (unfurling) που μπορεί να εξαπατήσει τους χρήστες να πιστέψουν ότι επισκέπτονται έναν νόμιμο ιστότοπο. Αυτή η τεχνική εκμεταλλεύεται τον μηχανισμό του Twitter για τη δημιουργία προεπισκοπήσεων των URL που κοινοποιούνται σε tweets. Έτσι, μπορεί να δείχνει ότι ο σύνδεσμος οδηγεί στο _ethereum.org_ (όπως στο παράδειγμα), ενώ στην πραγματικότητα θα ανακατευθυνθείτε σε κακόβουλο ιστότοπο. + +Ελέγχετε πάντα ότι βρίσκεστε στον σωστό τομέα, ειδικά μετά το κλικ σε έναν σύνδεσμο. + +[Περισσότερες πληροφορίες εδώ.](https://harrydenley.com/faking-twitter-unfurling) + +### Απάτη δωρεών {#giveaway} + +Μια από τις πιο συνηθισμένες απάτες στα κρυπτονομίσματα είναι η απάτη με δωρεάν κρυπτονομίσματα (giveaway scam). Αυτή η απάτη μπορεί να πάρει πολλές μορφές, αλλά η γενική ιδέα είναι ότι εάν στείλετε ETH στη διεύθυνση πορτοφολιού που παρέχεται, θα λάβετε πίσω το ETH σας διπλασιασμένο. *Για αυτόν τον λόγο, είναι επίσης γνωστή ως απάτη 2 προς 1.* + +Αυτές οι απάτες συνήθως ορίζουν περιορισμένο χρονικό περιθώριο για να διεκδικήσετε το δώρο και να δημιουργήσουν μια ψευδή αίσθηση κατεπείγοντος. + +### Παραβιάσεις κοινωνικών δικτύων {#social-media-hacks} + +Ένα διάσημο παράδειγμα συνέβη τον Ιούλιο του 2020, όταν οι λογαριασμοί Twitter διάσημων προσωπικοτήτων και οργανισμών παραβιάστηκαν. Οι χάκερ δημοσίευσαν ταυτόχρονα μια δωρεάν κλήρωση Bitcoin στους λογαριασμούς που είχαν παραβιαστεί. Παρόλο που τα παραπλανητικά tweets εντοπίστηκαν και διαγράφηκαν γρήγορα, οι χάκερ κατάφεραν να διαφύγουν με 11 bitcoin (ή 500.000 $ την περίοδο Σεπτεμβρίου 2021). + +![Απάτη στο Twitter](./appleTwitterScam.png) + +### Δωρεές από διασημότητες {#celebrity-giveaway} + +Μια άλλη κοινή μορφή της απάτης με δωρεάν κρυπτονομίσματα είναι αυτή που χρησιμοποιεί διασημότητες. Οι απατεώνες μπορεί να χρησιμοποιήσουν μια μαγνητοσκοπημένη συνέντευξη ή ομιλία μιας διάσημης προσωπικότητας και να την κάνουν livestream στο YouTube, κάνοντας να φαίνεται σαν να δίνει μια ζωντανή συνέντευξη που υποστηρίζει μια κλήρωση κρυπτονομισμάτων. + +Ο Vitalik Buterin χρησιμοποιείται πιο συχνά σε αυτήν την απάτη, αλλά χρησιμοποιούνται και πολλοί άλλοι διάσημοι άνθρωποι που εμπλέκονται με τα κρυπτονομίσματα (π.χ. ο Elon Musk ή ο Charles Hoskinson). Η συμπερίληψη ενός γνωστού προσώπου δίνει στις livestream των απατεώνων μια αίσθηση νομιμότητας (φαίνεται ύποπτο, αλλά συμμετέχει ο Vitalik, οπότε μάλλον είναι εντάξει). + +**Οι διαφημίσεις με δωρεάν κρυπτονομίσματα είναι πάντα απάτες. Αν στείλετε τα χρήματά σας σε αυτούς τους λογαριασμούς, θα τα χάσετε οριστικά.** + +![Απάτη στο YouTube](./youtubeScam.png) + +### Υποστήριξη κατά της απάτης {#support-scams} + +Το κρυπτονόμισμα είναι μια σχετικά μια νέα και παρεξηγημένη τεχνολογία. Μια συνηθισμένη απάτη που το εκμεταλλεύεται αυτό, είναι η απάτη ως υποστήριξη, όπου οι απατεώνες υποδύονται το προσωπικό υποστήριξης για δημοφιλή πορτοφόλια, ανταλλακτήρια ή κρυπτοαλυσίδες. + +Μεγάλο μέρος της συζήτησης για το Ethereum συμβαίνει στο Discord. Οι απατεώνες που υποδύονται προσωπικό υποστήριξης, βρίσκουν συνήθως τον στόχο τους αναζητώντας ερωτήσεις υποστήριξης σε δημόσια κανάλια και στη συνέχεια στέλνοντας στον ερωτώντα ένα ιδιωτικό μήνυμα που προσφέρει υποστήριξη. Χτίζοντας εμπιστοσύνη, οι απατεώνες ως προσωπικό υποστήριξης, προσπαθούν να σας ξεγελάσουν ώστε να αποκαλύψετε τα ιδιωτικά σας κλειδιά ή να στείλετε τα χρήματά σας στα πορτοφόλια τους. + +![Υποστήριξη κατά της απάτης στο Discord](./discordScam.png) + +Κατά γενικό κανόνα, το προσωπικό δε θα επικοινωνεί ποτέ μαζί σας μέσω ιδιωτικών, ανεπίσημων καναλιών. Μερικά απλά πράγματα που πρέπει να έχετε κατά νου όταν επικοινωνείτε με την υποστήριξη: + +- Ποτέ μη μοιράζεστε τα ιδιωτικά κλειδιά σας, τις μυστικές λέξεις σας ή τους κωδικούς πρόσβασης σας +- Μην επιτρέπετε ποτέ σε κανέναν την απομακρυσμένη πρόσβαση στον υπολογιστή σας +- Ποτέ μην επικοινωνείτε έξω από τα καθορισμένα κανάλια ενός οργανισμού + + +
+ Προσοχή: αν και οι απάτες τύπου υποστήριξης συμβαίνουν συνήθως στο Discord, μπορεί επίσης να είναι διαδεδομένες σε οποιεσδήποτε εφαρμογές συνομιλίας όπου διεξάγονται συζητήσεις κρυπτονομισμάτων, συμπεριλαμβανομένου του email. +
+
+ +### Απάτη κρυπτονομίσματος «Eth2» {#eth2-token-scam} + +Προς το τέλος της ενημέρωσης [Η Συγχώνευση](/roadmap/merge/), απατεώνες εκμεταλλεύτηκαν τη σύγχυση γύρω από τον όρο «Eth2» για να προσπαθήσουν να εξαπατήσουν τους χρήστες να εξαργυρώσουν τα ETH τους για ένα κρυπτονόμισμα «ETH2». Δεν υπάρχει «ETH2» και κανένα άλλο νόμιμο κρυπτονόμισμα δεν εισήχθη με τη Συγχώνευση. Το ETH που κατείχατε πριν είναι το ίδιο ETH και τώρα. **Δε χρειάζεται να κάνετε καμία ενέργεια σχετικά με τα ETH σας για τη μετάβαση από την απόδειξη εργασίας στην απόδειξη συμμετοχής.** + +Ενδέχεται να εμφανιστούν απατεώνες ως «υποστήριξη», λέγοντάς σας ότι εάν καταθέσετε τα ETH σας, θα λάβετε πίσω «ETH2». Δεν υπάρχει [επίσημη υποστήριξη Ethereum](/community/support/) και δεν υπάρχει νέο κρυπτονόμισμα. Μη μοιραστείτε ποτέ τις μυστικές λέξεις του πορτοφολιού σας με κανέναν. + +_Σημείωση: Υπάρχουν παράγωγα token/tickers που μπορεί να αντιπροσωπεύουν τα αποθηκευμένα ETH (π.χ. rETH από το Rocket Pool, stETH από το Lido, ETH2 από το Coinbase), αλλά δεν είναι κάτι στο οποίο πρέπει να «μεταφερθείτε»._ + +### Απάτες ηλεκτρονικού «ψαρέματος» {#phishing-scams} + +Οι απάτες ηλεκτρονικού ψαρέματος είναι μια άλλη, ολοένα και πιο κοινή προσέγγιση που χρησιμοποιούν οι απατεώνες για να προσπαθήσουν να κλέψουν τα χρήματα του πορτοφολιού σας. + +Μερικά ψεύτικα email ζητούν από τους χρήστες να κάνουν κλικ σε συνδέσμους που θα τους ανακατευθύνουν σε ψεύτικους ιστότοπους, ζητώντας τους να εισάγουν τις μυστικές λέξεις τους, για να επαναφέρουν τον κωδικό πρόσβασης τους ή να στείλουν ETH. Άλλα μπορεί να σας ζητήσουν να εγκαταστήσετε εν αγνοία σας κακόβουλο λογισμικό για να μολύνουν τον υπολογιστή σας και να δώσουν στους απατεώνες πρόσβαση στα αρχεία του υπολογιστή σας. + +Εάν λάβετε email από άγνωστο αποστολέα, θυμηθείτε: + +- Ποτέ μην ανοίγετε σύνδεσμο ή συνημμένο αρχείο από διευθύνσεις email που δεν αναγνωρίζετε. +- Ποτέ μην αποκαλύπτετε τα προσωπικά σας στοιχεία ή κωδικούς πρόσβασης σε κανέναν. +- Διαγράψτε email από άγνωστους αποστολείς. + +[Περισσότερα για την αποφυγή απάτης ηλεκτρονικού ψαρέματος.](https://support.mycrypto.com/staying-safe/mycrypto-protips-how-not-to-get-scammed-during-ico) + +### Απάτες ανταλλακτηρίων κρυπτονομισμάτων {#broker-scams} + +Οι απατεώνες «σύμβουλοι» ανταλλακτηρίων κρυπτονομισμάτων ισχυρίζονται ότι είναι εξειδικευμένοι μεσίτες κρυπτονομισμάτων που θα αναλάβουν τα χρήματά σας και θα τα επενδύσουν για εσάς. Αφού ο απατεώνας λάβει τα χρήματά σας, μπορεί είτε να σας καθυστερεί ζητώντας να στείλετε περισσότερα χρήματα για να μη χάσετε περαιτέρω κέρδη από επενδύσεις, είτε μπορεί να εξαφανιστεί εντελώς. + +Αυτοί οι απατεώνες βρίσκουν συχνά στόχους χρησιμοποιώντας ψεύτικους λογαριασμούς στο YouTube για να ξεκινήσουν φαινομενικά φυσικές συζητήσεις σχετικά με τον «μεσάζοντα». Αυτές οι συζητήσεις συχνά λαμβάνουν πολλές θετικές ψήφους για να αυξήσουν τη νομιμότητα, αλλά όλες οι θετικές ψήφοι προέρχονται από ψεύτικους λογαριασμούς. + +**Μην εμπιστεύεστε αγνώστους στο διαδίκτυο να επενδύσουν για εσάς. Θα χάσετε τα κρυπτονομισμάτά σας.** + +![Απάτη μεσάζοντα συναλλαγών στο YouTube](./brokerScam.png) + +### Απάτες δεξαμενών κρυπτόρυξης κρυπτονομισμάτων {#mining-pool-scams} + +Από τον Σεπτέμβριο του 2022, η κρυπτόρυξη στο Ethereum δεν είναι πλέον δυνατή. Ωστόσο, οι απάτες με δεξαμενές κρυπτόρυξης εξακολουθούν να υπάρχουν. Οι απάτες με δεξαμενές κρυπτόρυξης περιλαμβάνουν άτομα που επικοινωνούν απρόκλητα και ισχυρίζονται ότι μπορείτε να αποκομίσετε μεγάλα κέρδη συμμετέχοντας σε μια δεξαμενή κρυπτόρυξης Ethereum. Ο απατεώνας θα κάνει ισχυρισμούς και θα παραμείνει σε επαφή μαζί σας για όσο χρόνο χρειαστεί. Ουσιαστικά, ο απατεώνας θα προσπαθήσει να σας πείσει ότι όταν εγγραφείτε σε μια δεξαμενή κρυπτόρυξης Ethereum, το κρυπτονόμισμα σας θα χρησιμοποιηθούν για τη δημιουργία ETH και ότι θα λάβετε μερίσματα σε ETH. Στη συνέχεια, θα δείτε ότι το κρυπτονόμισμα σας κάνει μικρές αποδόσεις. Αυτό γίνεται απλώς για να σας δελεάσει να επενδύσετε περισσότερα. Τελικά, όλα τα χρήματά σας θα αποσταλούν σε μια άγνωστη διεύθυνση και ο απατεώνας θα εξαφανιστεί ή σε ορισμένες περιπτώσεις θα συνεχίσει να διατηρεί επαφή, όπως συνέβη σε μια πρόσφατη περίπτωση. + +Συμπέρασμα, να είστε επιφυλακτικοί με άτομα που επικοινωνούν μαζί σας στα μέσα κοινωνικής δικτύωσης ζητώντας σας να συμμετάσχετε σε δεξαμενή κρυπτόρυξης. Μόλις χάσετε τα κρυπτονομισμάτά σας, δεν υπάρχει επιστροφή. + +Ορισμένα στοιχεία που πρέπει να θυμάστε: + +- Να είστε επιφυλακτικοί με οποιονδήποτε επικοινωνεί μαζί σας σχετικά με διάφορους τρόπους για να κερδίσετε χρήματα από τα κρυπτονομίσματά σας +- Κάντε την έρευνά σας σχετικά με την αποθήκευση κεφαλαίου, τις δεξαμενές ρευστότητας ή άλλους τρόπους επένδυσης των κρυπτονομισμάτων σας +- Σπάνια, έως ποτέ, τέτοια συστήματα είναι θεμιτά. Αν ήταν, πιθανότατα θα ήταν διάσημα και θα τα είχατε ακούσει. + +[Άνδρας χάνει 200.000$ σε απάτη δεξαμενής κρυπτόρυξης](https://www.reddit.com/r/CoinBase/comments/r0qe0e/scam_or_possible_incredible_payout/) + +### Απάτες airdrop {#airdrop-scams} + +Οι απάτες με Airdrop περιλαμβάνουν ένα απατηλό project που στέλνει δωρεάν περιουσιακό στοιχείο (NFT, token) στο πορτοφόλι σας (airdrop) και στη συνέχεια σας κατευθύνει σε έναν ψεύτικο ιστότοπο για να το διεκδικήσετε. Όταν προσπαθήσετε να διεκδικήσετε το δωρεάν περιουσιακό στοιχείο, θα σας ζητηθεί να συνδεθείτε με το πορτοφόλι Ethereum σας και να «εγκρίνετε» μια συναλλαγή. Αυτή η συναλλαγή θέτει σε κίνδυνο τον λογαριασμό σας στέλνοντας τα δημόσια και ιδιωτικά σας κλειδιά στους απατεώνες. Μια εναλλακτική μορφή αυτής της απάτης μπορεί να σας ζητήσει να επιβεβαιώσετε μια συναλλαγή που στέλνει χρήματα στον λογαριασμό του απατεώνα. + +[Περισσότερα για τις απάτες airdrop](https://www.youtube.com/watch?v=LLL_nQp1lGk) + + + +## Ασφάλεια διαδικτύου 101 {#web-security} + +### Χρήση ισχυρών κωδικών πρόσβασης {#use-strong-passwords} + +[Πάνω από 80% των παραβιάσεων λογαριασμού είναι αποτέλεσμα αδύναμων ή κλεμμένων κωδικών πρόσβασης](https://cloudnine.com/ediscoverydaily/electronic-discovery/80-percent-hacking-related-breaches-related-password-issues-cybersecurity-trends/). Ένας μεγάλος συνδυασμός χαρακτήρων, αριθμών και συμβόλων θα βοηθήσει να διατηρήσετε τους λογαριασμούς σας ασφαλείς. + +Ένα συνηθισμένο λάθος είναι η χρήση συνδυασμού μερικών κοινών, συνηθισμένων λέξεων. Τέτοιοι κωδικοί πρόσβασης δεν είναι ασφαλείς, επειδή είναι επιρρεπείς σε τεχνικές hacking γνωστές ως επίθεση λεξικού. + +```md +Παράδειγμα εύκολου κωδικού πρόσβασης: CuteFluffyKittens! + +Παράδειγμα δύσκολου κωδικού πρόσβασης: ymv\*azu.EAC8eyp8umf +``` + +Ένα άλλο συνηθισμένο λάθος είναι η χρήση κωδικών πρόσβασης που μπορούν εύκολα να μαντέψουν ή να εντοπίσουν μέσω [κοινωνικών δικτύων](https://wikipedia.org/wiki/Social_engineering_(security)). Η συμπερίληψη του πατρικού ονόματος της μητέρας σας, των ονομάτων των παιδιών ή των κατοικίδιων σας ή των ημερομηνιών γέννησης στον κωδικό πρόσβασής σας θα αυξήσει τον κίνδυνο παραβίασης. + +#### Σωστές πρακτικές κωδικών πρόσβασης: {#good-password-practices} + +- Δημιουργήστε κωδικούς πρόσβασης με όσους χαρακτήρες σας επιτρέπει είτε το πρόγραμμα δημιουργίας κωδικών πρόσβασης είτε η φόρμα που συμπληρώνετε +- Χρησιμοποιήστε ένα μείγμα κεφαλαίων, πεζών, αριθμών και συμβόλων +- Μη χρησιμοποιείτε προσωπικά στοιχεία, όπως οικογενειακά ονόματα, στον κωδικό πρόσβασής σας +- Αποφύγετε συχνά χρησιμοποιούμενες λέξεις + +[Περισσότερα για τη δημιουργία ισχυρών κωδικών πρόσβασης](https://terranovasecurity.com/how-to-create-a-strong-password-in-7-easy-steps/) + +### Χρησιμοποιείστε διαφορετικού κωδικούς πρόσβασης {#use-unique-passwords} + +Ένας ισχυρός κωδικός πρόσβασης που έχει αποκαλυφθεί σε περίπτωση παραβίασης δεδομένων δεν είναι πλέον ισχυρός κωδικός πρόσβασης. Ο ιστότοπος [Have I Been Pwned](https://haveibeenpwned.com) σάς επιτρέπει να ελέγχετε εάν οι λογαριασμοί σας εμπλέκονται σε δημόσιες παραβιάσεις δεδομένων. Εάν συμβεί αυτό, **αλλάξτε αμέσως τους κωδικούς πρόσβασής σας**. Η χρήση μοναδικών κωδικών πρόσβασης για κάθε λογαριασμό μειώνει τον κίνδυνο οι χάκερ να αποκτήσουν πρόσβαση στους λογαριασμούς σας εάν ένας από τους κωδικούς πρόσβασής σας παραβιαστεί. + +### Χρησιμοποιείστε έναν διαχειριστή κωδικών πρόσβασης {#use-password-manager} + + +
+ Η χρήση ενός διαχειριστή κωδικών πρόσβασης φροντίζει για τη δημιουργία ισχυρών, μοναδικών κωδικών πρόσβασης και την απομνημόνευση τους! Συνιστούμε ανεπιφύλακτα να χρησιμοποιήσετε ένα και τα περισσότερα από αυτά είναι δωρεάν! +
+
+ +Το να θυμάστε ισχυρούς, μοναδικούς κωδικούς πρόσβασης για κάθε λογαριασμό που έχετε δεν είναι ο ιδανικός τρόπος. Ένας διαχειριστής κωδικών πρόσβασης προσφέρει ένα ασφαλές, κρυπτογραφημένο χώρο αποθήκευσης για όλους τους κωδικούς πρόσβασης στον οποίο μπορείτε να αποκτήσετε πρόσβαση μέσω ενός ισχυρού κύριου κωδικού πρόσβασης. Προτείνουν επίσης ισχυρούς κωδικούς πρόσβασης κατά την εγγραφή σας σε μια νέα υπηρεσία, ώστε να μη χρειάζεται να δημιουργήσετε δικούς σας. Πολλοί διαχειριστές κωδικών πρόσβασης θα σας πουν επίσης εάν έχετε εμπλακεί σε παραβίαση δεδομένων, επιτρέποντάς σας να αλλάξετε τους κωδικούς πρόσβασης πριν από τυχόν κακόβουλες επιθέσεις. + +![Παράδειγμα χρήσης διαχειριστή κωδικών πρόσβασης](./passwordManager.png) + +#### Δοκιμάστε έναν διαχειριστή κωδικών πρόσβασης: {#try-password-manager} + +- [Bitwarden](https://bitwarden.com/) +- [KeePass](https://keepass.info/) +- [1Password](https://1password.com/) +- Ή δείτε άλλους [προτεινόμενους διαχειριστές κωδικών πρόσβασης](https://www.privacytools.io/secure-password-manager) + +### Χρήση επαληθευτή Δύο Παραγόντων {#two-factor-authentication} + +Μερικές φορές μπορεί να σας ζητηθεί να πιστοποιήσετε την ταυτότητά σας μέσω μοναδικών αποδείξεων. Αυτές οι αποδείξεις είναι γνωστές ως **παράγοντες**. Οι τρεις βασικοί παράγοντες είναι: + +- Κάτι που γνωρίζετε (όπως κωδικός πρόσβασης ή ερώτηση ασφαλείας) +- Κάτι που είστε (όπως δακτυλικό αποτύπωμα ή σαρωτής ίριδας/προσώπου) +- Κάτι που σας ανήκει (ένα κλειδί ασφαλείας ή εφαρμογή ελέγχου ταυτότητας στο τηλέφωνό σας) + +Η χρήση ενός **Επαληθευτή ταυτότητας δύο παραγόντων (2FA)** παρέχει ένα πρόσθετο *παράγοντα ασφαλείας* για τους διαδικτυακούς σας λογαριασμούς. Το 2FA διασφαλίζει ότι το να έχετε απλώς τον κωδικό πρόσβασής σας δεν αρκεί για την πρόσβαση σε έναν λογαριασμό. Συνηθέστερα, ο δεύτερος παράγοντας είναι ένας τυχαίος 6ψήφιος κωδικός, γνωστός ως **time-based one-time password (TOTP)**, στον οποίο μπορείτε να αποκτήσετε πρόσβαση μέσω μιας εφαρμογής ελέγχου ταυτότητας όπως το Google Authenticator ή το Authy. Αυτά λειτουργούν ως παράγοντας «κάτι που κατέχετε», επειδή η φράση ασφαλείας που δημιουργεί τον χρονομετρημένο κώδικα αποθηκεύεται στη συσκευή σας. + + +
+ Σημείωση: Η χρήση 2FA με χρήση SMS είναι ευάλωτη στην κλοπή SIM και δεν είναι ασφαλής. Για καλύτερη ασφάλεια, χρησιμοποιήστε μια υπηρεσία όπως το Google Authenticator ή το Authy. +
+
+ +#### Κλειδιά ασφαλείας {#security-keys} + +Ένα κλειδί ασφαλείας είναι ένας πιο προηγμένος και ασφαλής τύπος 2FA. Τα κλειδιά ασφαλείας είναι φυσικές συσκευές ελέγχου ταυτότητας που λειτουργούν όπως οι εφαρμογές ελέγχου ταυτότητας. Η χρήση κλειδιού ασφαλείας είναι ο πιο ασφαλής τρόπος για χρήση 2FA. Πολλά από αυτά τα κλειδιά χρησιμοποιούν το πρότυπο FIDO Universal 2nd Factor (U2F). [Μάθετε περισσότερα σχετικά με το FIDO U2F](https://www.yubico.com/authentication-standards/fido-u2f/). + +Δείτε περισσότερα για το 2FA: + + + +### Απεγκαταστήστε τις επεκτάσεις του φυλλομετρητή {#uninstall-browser-extensions} + +Οι επεκτάσεις του προγράμματος περιήγησης, όπως οι επεκτάσεις του Chrome ή τα πρόσθετα για το Firefox, μπορούν να βελτιώσουν τη λειτουργικότητα του προγράμματος περιήγησης, αλλά ενέχουν κινδύνους. Από προεπιλογή, οι περισσότερες επεκτάσεις προγράμματος περιήγησης ζητούν πρόσβαση για «ανάγνωση και αλλαγή δεδομένων ιστότοπου», επιτρέποντάς τους να κάνουν σχεδόν οτιδήποτε με τα δεδομένα σας. Οι επεκτάσεις του Chrome ενημερώνονται πάντα αυτόματα, επομένως μια προηγουμένως ασφαλής επέκταση μπορεί να ενημερωθεί αργότερα για να περιλαμβάνει κακόβουλο κώδικα. Οι περισσότερες επεκτάσεις προγράμματος περιήγησης δεν προσπαθούν να κλέψουν τα δεδομένα σας, αλλά θα πρέπει να γνωρίζετε ότι μπορούν. + +#### Μείνετε ασφαλείς με: {#browser-extension-safety} + +- Εγκατάσταση επεκτάσεων φυλλομετρητή μόνο από αξιόπιστες πηγές +- Αφαίρεση αχρησιμοποίητων επεκτάσεων φυλλομετρητή +- Εγκατάσταση τοπικά των επεκτάσεων Chrome για μη αυτόματη ενημέρωση (για προχωρημένους) + +[Περισσότερα για τους κινδύνους των επεκτάσεων του φυλλομετρητή](https://www.kaspersky.co.uk/blog/browser-extensions-security/12750/) + + + +## Περισσότερες πληροφορίες {#further-reading} + +### Ασφάλεια διαδικτύου {#reading-web-security} + +- [Περισσότερες από 3 εκατομμύρια συσκευές μολύνθηκαν από κακόβουλα πρόσθετα του Chrome και του Edge](https://arstechnica.com/information-technology/2020/12/up-to-3-million-devices-infected-by-malware-laced-chrome-and-edge-add-ons/) - _Dan Goodin_ +- [Πώς να δημιουργήσετε ισχυρό κωδικό πρόσβασης — Αυτόν που δε θα ξεχάσετε](https://www.avg.com/en/signal/how-to-create-a-strong-password-that-you-wont-forget) - _AVG_ +- [Τι είναι το κλειδί ασφαλείας;](https://help.coinbase.com/en/coinbase/getting-started/verify-my-account/security-keys-faq) - _Coinbase_ + +### Ασφάλεια κρυπτονομισμάτων {#reading-crypto-security} + +- [Προστατεύστε τον εαυτό σας και το κεφάλαιό σας](https://support.mycrypto.com/staying-safe/protecting-yourself-and-your-funds) - _MyCrypto_ +- [Ζητήματα ασφαλείας σε συνήθη λογισμικά επικοινωνίας κρυπτονομισμάτων](https://docs.salusec.io/untitled/web3-penetration-test/risks-in-social-media) - _Salus_ +- [Οδηγός ασφαλείας για αρχάριους και έξυπνους χρήστες](https://medium.com/mycrypto/mycryptos-security-guide-for-dummies-and-smart-people-too-ab178299c82e) - _MyCrypto_ +- [Ασφάλεια κρυπτονομισμάτων: Κωδικοί πρόσβασης και Αυθεντικοποίηση](https://www.youtube.com/watch?v=m8jlnZuV1i4) - _Ανδρέας Μ. Αντωνόπουλος_ + +### Εκπαίδευση κατά της απάτης {#reading-scam-education} + +- [Οδηγός: Πως να αναγνωρίσετε τα μη αυθεντικά κρυπτονομίσματα](/guides/how-to-id-scam-tokens/) +- [Μείνετε ασφαλής: Κοινές απάτες](https://support.mycrypto.com/staying-safe/common-scams) - _MyCrypto_ +- [Αποφεύγοντας τις απάτες](https://bitcoin.org/en/scams) - _Bitcoin.org_ +- [Νήμα στο Twitter για κοινές απάτες ηλεκτρονικού ψαρέματος email και μηνυμάτων για κρυπτονομίσματα](https://twitter.com/tayvano_/status/1516225457640787969) - _Taylor Monahan_ + + diff --git a/public/content/translations/el/social-networks/index.md b/public/content/translations/el/social-networks/index.md index 2fad91df5d7..4c318b6f18e 100644 --- a/public/content/translations/el/social-networks/index.md +++ b/public/content/translations/el/social-networks/index.md @@ -74,33 +74,31 @@ summaryPoint3: Τα κρυπτονομίσματα και τα NFT δημιου ## Κοινωνικά δίκτυα Web2 στο Ethereum {#web2-social-networks-and-ethereum} -Οι εγγενείς πλατφόρμες κοινωνικής δικτύωσης [Web3](/glossary/#web3) δεν είναι οι μόνες που προσπαθούν να ενσωματώσουν την τεχνολογία κρυπτοαλυσίδας στα μέσα κοινωνικής δικτύωσης. Πολλές κεντρικές πλατφόρμες σχεδιάζουν επίσης να ενσωματώσουν το Ethereum στην υποδομή τους: +Οι εγγενείς πλατφόρμες κοινωνικής δικτύωσης [Web3](/glossary/#web3) δεν είναι οι μόνες που προσπαθούν να ενσωματώσουν την τεχνολογία κρυπτοαλυσίδας στα μέσα κοινωνικής δικτύωσης. Πολλές κεντρικές πλατφόρμες διερευνούν επίσης ή έχουν πειραματιστεί με την ενσωμάτωση του Ethereum στην υποδομή τους: ### Reddit {#reddit} -Το Reddit έχει προωθήσει τους [πόντους κοινότητας](https://cointelegraph.com/news/reddit-to-reportedly-tokenize-karma-points-and-onboard-500m-new-users), δηλαδή ψηφιακά στοιχεία ERC-20 τα οποία μπορούν να κερδίσουν οι χρήστες δημοσιεύοντας ποιοτικό περιεχόμενο και συνεισφέροντας σε διαδικτυακές κοινότητες (subreddits). Μπορείτε να εξαργυρώσετε αυτά τα κρυπτονομίσματα μέσα σε ένα subreddit για να λάβετε αποκλειστικά προνόμια. Για αυτό το έργο, το Reddit συνεργάζεται με το Arbitrum, ένα δίκτυο [επιπέδου 2](/glossary/#layer-2) που έχει σχεδιαστεί για την κλιμακωτή αναβάθμιση των συναλλαγών στο Ethereum. - -Το πρόγραμμα είναι ήδη σε λειτουργία, με το subreddit r/CryptoCurrency [που εκτελεί την έκδοση των σημείων κοινότητας που ονομάζεται "Moons"](https://www.reddit.com/r/CryptoCurrency/wiki/moons_wiki). Σύμφωνα με την επίσημη περιγραφή, το Moons «επιβραβεύει αφίσες, σχολιαστές και συντονιστές για τη συνεισφορά τους στο subreddit». Επειδή αυτά τα κρυπτονομίσματα βρίσκονται στην κρυπτοαλυσίδα (οι χρήστες τα λαμβάνουν σε πορτοφόλια), είναι ανεξάρτητα από το Reddit και δεν μπορούν να αφαιρεθούν. - -Εκτός από τη χρήση των πόντων κοινότητας για την πρόσβαση σε ειδικές λειτουργίες, οι χρήστες μπορούν επίσης να τους ανταλλάξουν με υποχρεωτικό χρήμα (fiat) σε ανταλλακτήρια. Επίσης, ο αριθμός των πόντων κοινότητας που κατέχει ένας χρήστης καθορίζει την επιρροή του στη διαδικασία λήψης αποφάσεων εντός της κοινότητας. +- Το Reddit είχε πειραματιστεί προηγουμένως με **Πόντους Κοινότητας**, οι οποίοι ήταν στοιχεία ERC-20 που οι χρήστες μπορούσαν να κερδίσουν δημοσιεύοντας ποιοτικό περιεχόμενο και συνεισφέροντας σε συγκεκριμένες διαδικτυακές κοινότητες (subreddits). Οι χρήστες μπορούσαν να εξαργυρώσουν αυτά τα tokens μέσα σε ένα subreddit για αποκλειστικά προνόμια ή να τα ανταλλάξουν. Για αυτό το έργο, το Reddit χρησιμοποίησε το Arbitrum Nova, ένα δίκτυο [επιπέδου 2](/glossary/#layer-2) που έχει σχεδιαστεί για την κλιμάκωση των συναλλαγών Ethereum. +- Το πρόγραμμα ήταν αξιοσημείωτα ενεργό στο subreddit r/CryptoCurrency με το "Moons" του και στο subreddit r/FortNiteBR με το "Bricks" του. Επειδή αυτά τα κρυπτονομίσματα βρίσκονταν στο blockchain, ήταν ανεξάρτητα από το Reddit από τη στιγμή που καταχωρούνταν στο [πορτοφόλι](/glossary/#wallet) ενός χρήστη. +- Ωστόσο, το **Reddit [τερμάτισε το πρόγραμμα Community Points](https://www.reddit.com/r/CryptoCurrency/comments/17a33ql/reddit_is_officially_deprecating_community_points/) στα τέλη του 2023**, επικαλούμενο προβλήματα επεκτασιμότητας και πόρων. Ενώ τα ψηφιακά στοιχεία εξακολουθούν να υπάρχουν στο blockchain, το Reddit δεν τα υποστηρίζει πλέον ενεργά ούτε τα ενσωματώνει στις λειτουργίες της πλατφόρμας του. ## Περισσότερες πληροφορίες {#further-reading} ### Άρθρα {#articles} -- [Αποκέντρωση μέσων κοινωνικής δικτύωσης: ένας οδηγός για τα κοινωνικά δίκτυα web3](https://www.coinbase.com/blog/decentralizing-social-media-a-guide-to-the-web3-social-stack) - _Coinbase Ventures_ +- [Αποκέντρωση των μέσων κοινωνικής δικτύωσης: ένας οδηγός για το web3 social stack](https://www.coinbase.com/blog/decentralizing-social-media-a-guide-to-the-web3-social-stack) - _Coinbase Ventures_ - [Τα κοινωνικά δίκτυα είναι η επόμενη μεγάλη ευκαιρία αποκέντρωσης](https://www.coindesk.com/tech/2021/01/22/social-networks-are-the-next-big-decentralization-opportunity/) — _Ben Goertzel_ -- [Το Web3 υπόσχεται αποκεντρωμένα κοινωνικά δίκτυα που υποστηρίζονται από την κοινότητα](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) — _Sumit Ghosh_ -- [Μια επισκόπηση του χώρου των μέσων κοινωνικής δικτύωσης σε Blockchain](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — *Cryptopedia Gemini* -- [Πώς το Blockchain μπορεί να λύσει το απόρρητο των μέσων κοινωνικής δικτύωσης](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _Prableen Bajpai_ -- [Επαρκής αποκέντρωση για κοινωνικά δίκτυα](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) — *Varun Srinivasan* +- [Το Web3 διατηρεί την υπόσχεση για αποκεντρωμένα, κοινωνικά δίκτυα που υποστηρίζονται από την κοινότητα](https://venturebeat.com/2022/02/26/web3-holds-the-promise-of-decentralized-community-powered-social-networks/) — _Sumit Ghosh_ +- [Μια επισκόπηση του τοπίου των μέσων κοινωνικής δικτύωσης Blockchain](https://www.gemini.com/cryptopedia/blockchain-social-media-decentralized-social-media) — _Gemini Cryptopedia_ +- [Πώς το Blockchain Μπορεί να Λύσει το Απόρρητο των Κοινωνικών Δικτύων](https://www.investopedia.com/news/ethereum-blockchain-social-media-privacy-problem-linkedin-indorse/) — _Prableen Bajpai_ +- [Επαρκής Αποκέντρωση για Κοινωνικά Δίκτυα](https://www.varunsrinivasan.com/2022/01/11/sufficient-decentralization-for-social-networks) — _Varun Srinivasan_ ### Βίντεο {#videos} -- [Επεξήγηση αποκεντρωμένων μέσων κοινωνικής δικτύωσης](https://www.youtube.com/watch?v=UdT2lpcGvcQ) — _Coinmarketcap_ -- [Η DeSo Blockchain θέλει να αποκεντρώσει τα μέσα κοινωνικής δικτύωσης](https://www.youtube.com/watch?v=SG2HUiVp0rE) — _Τεχνολογία Bloomberg_ -- [Το μέλλον των αποκεντρωμένων μέσων κοινωνικής δικτύωσης των Balaji Srinivasan, Vitalik Buterin, Juan Benet](https://www.youtube.com/watch?v=DTxE9KV3YrE) — *ETHGlobal* +- [Επεξήγηση των Αποκεντρωμένων Κοινωνικών Δικτύων](https://www.youtube.com/watch?v=UdT2lpcGvcQ) — _Coinmarketcap_ +- [Το DeSo Blockchain θέλει να αποκεντρώσει τα μέσα κοινωνικής δικτύωσης](https://www.youtube.com/watch?v=SG2HUiVp0rE) — _Bloomberg Technology_ +- [Το μέλλον των αποκεντρωμένων μέσων κοινωνικής δικτύωσης με τους Balaji Srinivasan, Vitalik Buterin, Juan Benet](https://www.youtube.com/watch?v=DTxE9KV3YrE) — _ETHGlobal_ ### Κοινότητες {#communities} -- [r/CryptoCurrency subreddit](https://www.reddit.com/r/CryptoCurrency/) +- [r/CryptoCurrency subreddit](https://www.reddit.com/r/CryptoCurrency/) \ No newline at end of file diff --git a/public/content/translations/el/zero-knowledge-proofs/index.md b/public/content/translations/el/zero-knowledge-proofs/index.md index 5fcd282e175..4b59eed316d 100644 --- a/public/content/translations/el/zero-knowledge-proofs/index.md +++ b/public/content/translations/el/zero-knowledge-proofs/index.md @@ -34,7 +34,7 @@ lang: el Τα κρυπτονομίσματα προορίζονταν να παρέχουν στους χρήστες έναν τρόπο για να διεξάγουν ιδιωτικές συναλλαγές peer-to-peer. Όμως, οι περισσότερες συναλλαγές κρυπτονομισμάτων είναι ευρέως ορατές σε δημόσια blockchains. Οι ταυτότητες χρηστών είναι συχνά ψεύτικες και είτε συνδέονται σκόπιμα με πραγματικές ταυτότητες (π.χ. συμπεριλαμβάνοντας διευθύνσεις ETH σε προφίλ Twitter ή GitHub) είτε μπορούν να συσχετιστούν με πραγματικές ταυτότητες χρησιμοποιώντας βασική ανάλυση δεδομένων εντός και εκτός αλυσίδας. -Υπάρχουν συγκεκριμένα «νομίσματα» απορρήτου» σχεδιασμένα για εντελώς ανώνυμες συναλλαγές. Blockchain εστιασμένα στο απόρρητο, όπως τα Zcash και Monero, αποκρύπτουν λεπτομέρειες συναλλαγών, συμπεριλαμβανομένων των διευθύνσεων αποστολέα/λήπτη, του τύπου ψηφιακού στοιχείου, της ποσότητας και του χρονοδιαγράμματος συναλλαγών. +Υπάρχουν συγκεκριμένα «νομίσματα απορρήτου» σχεδιασμένα για εντελώς ανώνυμες συναλλαγές. Blockchain εστιασμένα στο απόρρητο, όπως τα Zcash και Monero, αποκρύπτουν λεπτομέρειες συναλλαγών, συμπεριλαμβανομένων των διευθύνσεων αποστολέα/λήπτη, του τύπου ψηφιακού στοιχείου, της ποσότητας και του χρονοδιαγράμματος συναλλαγών. Ενσωματώνοντας την τεχνολογία αποδείξεων μηδενικής γνώσης στο πρωτόκολλο, τα δίκτυα [blockchain](/glossary/#blockchain) που εστιάζουν στο απόρρητο, επιτρέπουν στους [κόμβους](/glossary/#node) να επικυρώνουν συναλλαγές χωρίς να χρειάζεται να αποκτήσουν πρόσβαση σε δεδομένα συναλλαγών. Το [EIP-7503](https://eips.ethereum.org/EIPS/eip-7503) είναι ένα παράδειγμα προτεινόμενου σχεδιασμού που θα επιτρέψει εγγενείς ιδιωτικές μεταφορές αξίας στο blockchain Ethereum. Ωστόσο, τέτοιες προτάσεις είναι δύσκολο να εφαρμοστούν λόγω ενός μείγματος ανησυχιών για την ασφάλεια, τους ρυθμιστικούς κανόνες και το UX. @@ -80,7 +80,7 @@ lang: el Τα συστήματα ψηφοφορίας εντός κρυπτοαλυσίδας έχουν πολλά ευνοϊκά χαρακτηριστικά: είναι πλήρως ελεγμένα, ασφαλή έναντι επιθέσεων, ανθεκτικά στη λογοκρισία και απαλλαγμένα από γεωγραφικούς περιορισμούς. Ωστόσο, ούτε καν τα συστήματα ψηφοφορίας εντός αλυσίδας είναι απρόσβλητα στο πρόβλημα της **συνεννόησης**. -Η συνεννόηση, που ορίζεται ως «συντονισμός για τον περιορισμό του ανοιχτού ανταγωνισμού μέσω της εξαπάτησης, της απάτης και της «παραπλάνησης», μπορεί να λάβει τη μορφή ενός κακόβουλου παράγοντα που επηρεάζει την ψηφοφορία προσφέροντας δωροδοκίες. Για παράδειγμα, η Αλίκη μπορεί να λάβει δωροδοκία από τον Μπομπ για να ψηφίσει την `επιλογή Β` σε μια ψηφοφορία ακόμα και αν προτιμά την `επιλογή Α`. +Η συνεννόηση, που ορίζεται ως «συντονισμός για τον περιορισμό του ανοιχτού ανταγωνισμού μέσω της εξαπάτησης, της απάτης και της παραπλάνησης», μπορεί να λάβει τη μορφή ενός κακόβουλου παράγοντα που επηρεάζει την ψηφοφορία προσφέροντας δωροδοκίες. Για παράδειγμα, η Αλίκη μπορεί να λάβει δωροδοκία από τον Μπομπ για να ψηφίσει την `επιλογή Β` σε μια ψηφοφορία ακόμα και αν προτιμά την `επιλογή Α`. Η δωροδοκία και η συνεννόηση περιορίζουν την αποτελεσματικότητα οποιασδήποτε διαδικασίας που χρησιμοποιεί την ψηφοφορία ως μηχανισμό σηματοδότησης (ειδικά όταν οι χρήστες μπορούν να αποδείξουν πώς ψήφισαν). Αυτό μπορεί να έχει σημαντικές συνέπειες, ειδικά όταν οι ψήφοι είναι υπεύθυνες για την κατανομή σπάνιων πόρων. diff --git a/src/intl/el/common.json b/src/intl/el/common.json index 8859587cc35..a83ca4a012b 100644 --- a/src/intl/el/common.json +++ b/src/intl/el/common.json @@ -295,6 +295,7 @@ "nav-overview-label": "Επισκόπηση", "nav-participate-overview-description": "Επισκόπηση του τρόπου συμμετοχής", "nav-payments-description": "Οι πληρωμές Ethereum αλλάζουν τον τρόπο αποστολής και λήψης χρημάτων", + "nav-prediction-markets-description": "Οι αγορές πρόβλεψης είναι ένας τρόπος για να στοιχηματίσετε στο μέλλον", "nav-primary": "Κύριο", "nav-quizzes-description": "Μάθετε πόσο καλά κατανοείτε το Ethereum και τα κρυπτονομίσματα", "nav-quizzes-label": "Δοκιμάστε τις γνώσεις σας", @@ -334,8 +335,8 @@ "nav-staking-solo-description": "Εκτελέστε την οικιακή σας συσκευή και επιληφθείτε προσωπικά για την ασφάλεια και την αποκέντρωση του δικτύου Ethereum", "nav-staking-solo-label": "Ατομική αποθήκευση κεφαλαίου", "nav-start-building-description": "Χρήσιμες πληροφορίες για νεοαφιχθέντες", - "nav-start-with-crypto-title": "Ξεκινήστε εδώ", - "nav-start-with-crypto-description": "Τα πρώτα σας βήματα με το Ethereum", + "nav-start-with-crypto-title": "Ξεκινήστε από εδώ", + "nav-start-with-crypto-description": "Τα πρώτα σας βήματα χρησιμοποιώντας το Ethereum", "nav-translation-program-description": "Συλλογική προσπάθεια μετάφρασης του ethereum.org σε όλες τις γλώσσες", "nav-tutorials-description": "Επιμελημένος κατάλογος της κοινότητας με οδηγούς εκμάθησης", "nav-use-cases-description": "Ανακαλύψτε διαφορετικές ιδέες για τη χρήση του Ethereum", @@ -371,6 +372,7 @@ "payments-page": "Πληρωμές", "pbs": "Διαχωρισμός προτείνοντος - κατασκευαστή", "pools": "Αποθήκευση κεφαλαίου σε δεξαμενή", + "prediction-markets": "Αγορές προβλέψεων", "privacy-policy": "Πολιτική απορρήτου", "private-ethereum": "Ιδιωτικό Ethereum", "product-disclaimer": "Τα προϊόντα και υπηρεσίες αναφέρονται για εξυπηρέτηση της κοινότητας του Ethereum. Η συμπερίληψη ενός προϊόντος ή μιας υπηρεσίας δεν αφορά την έγκρισή τους από την ομάδα του ιστότοπου ethereum.org ή το Ίδρυμα Ethereum.", @@ -436,6 +438,9 @@ "verkle-trees": "Verkle trees", "wallets": "Πορτοφόλια", "we-couldnt-find-that-page": "Δεν μπορέσαμε να βρούμε αυτή τη σελίδα", + "error-page-title": "Ωχ! Κάτι πήγε στραβά", + "error-page-description": "Μπορείτε να μας βοηθήσετε να βελτιωθούμε αναφέροντας αυτό το πρόβλημα στην ιστοσελίδα μας GitHub repository.", + "error-page-home-link": "Επιστροφή στην αρχική σελίδα", "web3": "Τι είναι το Web3;", "web3-title": "Web3", "website-last-updated": "Τελευταία ενημέρωση της ιστοσελίδας", diff --git a/src/intl/el/glossary.json b/src/intl/el/glossary.json index 566a28f7d3c..3506e604574 100644 --- a/src/intl/el/glossary.json +++ b/src/intl/el/glossary.json @@ -391,6 +391,8 @@ "web3-definition": "Το Web3 είναι το νέο διαδίκτυο με blockchain, όπου είναι οι χρήστες αυτοί που ελέγχουν τα δεδομένα και τις συναλλαγές τους, όχι οι εταιρείες. Δεν χρειάζεται να μοιραστείτε προσωπικά στοιχεία. Περισσότερα για το web3.", "wei-term": "Wei", "wei-definition": "Η μικρότερη υποδιαίρεση του ether. 1018 wei = 1 ether.", + "wrapped-token-term": "Wrapped token", + "wrapped-token-definition": "Ένα ψηφιακό στοιχείο που βασίζεται σε κρυπτοαλυσίδα και αντιπροσωπεύει ένα άλλο κρυπτονόμισμα ή περιουσιακό στοιχείο σε διαφορετικό δίκτυο. Για παράδειγμα, το Wrapped Ether (WETH) αντιπροσωπεύει το Ether (ETH) σε μορφή που συμμορφώνεται με το πρότυπο κρυπτονομίσματος ERC-20 του Ethereum. Το αρχικό περιουσιακό στοιχείο κλειδώνεται με ασφάλεια από ένα έξυπνο συμβόλαιο και δημιουργείται ένα ισοδύναμο ψηφιακό στοιχείο. Αυτός ο μηχανισμός επιτρέπει τη διαλειτουργικότητα εντός και μεταξύ της κρυπτοαλυσίδας, επιτρέποντας σε περιουσιακά στοιχεία όπως το ETH να χρησιμοποιούνται απρόσκοπτα σε αποκεντρωμένες εφαρμογές διατηρώντας παράλληλα την αξία τους.", "zero-address-term": "Διεύθυνση με μηδενικά", "zero-address-definition": "Μια διεύθυνση Ethereum, αποτελούμενη εξ ολοκλήρου από μηδενικά, που χρησιμοποιείται συχνά ως διεύθυνση για την αφαίρεση token από την ιδιόκτητη κυκλοφορία. Γίνεται διάκριση μεταξύ των token που έχουν αφαιρεθεί επίσημα από το ευρετήριο ενός έξυπνου συμβολαίου μέσω της μεθόδου burn() και εκείνων που αποστέλλονται σε αυτή τη διεύθυνση.", "zk-proof-term": "Απόδειξη μηδενικής γνώσης", diff --git a/src/intl/el/page-bug-bounty.json b/src/intl/el/page-bug-bounty.json index db018ae650c..b864d02a05f 100644 --- a/src/intl/el/page-bug-bounty.json +++ b/src/intl/el/page-bug-bounty.json @@ -126,7 +126,7 @@ "bug-bounty-faq-q5-content-1": "Στόχος μας είναι να απαντάμε όσο το δυνατόν γρηγορότερα. Μη διστάσετε να μας στείλετε email στο bounty@ethereum.org εάν δεν έχετε λάβει απάντηση εντός μιας ημέρας ή δύο.", "bug-bounty-faq-q6-title": "Θέλω να είμαι ανώνυμος / Δε θέλω το όνομά μου στον πίνακα των κορυφαίων.", "bug-bounty-faq-q6-contentPreview": "Μπορείτε να το κάνετε αυτό, αλλά μπορεί να σας καθιστά μη κατάλληλο για ανταμοιβές.", - "bug-bounty-faq-q6-content-1": "Η ανώνυμη υποβολή ή με ψευδώνυμο είναι εντάξει, αλλά θα σας κάνει να μην πληροίτε τις προϋποθέσεις για ανταμοιβές ETH/DAI. Για να πληρείτε τα κριτήρια για επιβραβεύσεις σε ETH/DAI, απαιτείται το πραγματικό σας όνομα και μια απόδειξη της ταυτότητάς σας. Η δωρεά της γενναιοδωρίας σας σε φιλανθρωπικό ίδρυμα δεν απαιτεί επιβεβαίωση της ταυτότητά σας.", + "bug-bounty-faq-q6-content-1": "Η ανώνυμη υποβολή ή με ψευδώνυμο είναι αποδεκτή, αλλά θα σας καταστήσει μη επιλέξιμους για ανταμοιβές ETH/DAI. Για να είστε επιλέξιμοι για ανταμοιβές ETH/DAI, απαιτείται η αποστολή του πραγματικού σας ονόματος και ενός αποδεικτικού της ταυτότητάς σας, κρυπτογραφημένου με χρήση PGP στον ασφαλή ιστότοπο μεταφόρτωσης αρχείου, στη νομική μας ομάδα στο Ίδρυμα Ethereum, οι οποίοι είναι οι μοναδικοί αναθεωρητές της τεκμηρίωσης. Η δωρεά του bounty σας σε φιλανθρωπικό ίδρυμα δεν απαιτεί την ταυτότητά σας.", "bug-bounty-faq-q6-content-2": "Ενημερώστε μας εάν δε θέλετε το όνομά σας ή το ψευδώνυμο να εμφανίζεται στον πίνακα των κορυφαίων χρηστών.", "bug-bounty-faq-q7-title": "Γιατί υπάρχει ο πίνακας με τους κορυφαίους χρήστες;", "bug-bounty-faq-q7-contentPreview": "Κάθε ευπάθεια ή πρόβλημα που βρέθηκε και υποβλήθηκε αξιολογείται.", diff --git a/src/intl/el/page-dapps.json b/src/intl/el/page-dapps.json index 541beff9e0e..48dab9640ae 100644 --- a/src/intl/el/page-dapps.json +++ b/src/intl/el/page-dapps.json @@ -89,10 +89,8 @@ "page-dapps-dapp-description-graph": "Ένα πρωτόκολλο ευρετηρίου για δίκτυα ερωτημάτων όπως το Ethereum και το IPFS.", "page-dapps-dapp-description-ipfs": "Ένα πρωτόκολλο υπερμέσων από χρήστη σε χρήστη, σχεδιασμένο να διατηρεί και να αναπτύσσει τη γνώση της ανθρωπότητας κάνοντας τον ιστό αναβαθμίσιμο, ανθεκτικό και πιο ανοιχτό.", "page-dapps-dapp-description-radicle": "Ασφαλής συνεργασία μεταξύ χρηστών για σύνταξη κώδικα χωρίς μεσάζοντες.", - "page-dapps-dapp-description-kyberswap": "Μετατρέψτε και κερδίστε στις καλύτερες τιμές.", "page-dapps-dapp-description-kiwinews": "Βρείτε ενδιαφέρουσες ειδήσεις, άρθρα και προϊόντα Ethereum που επιμελούνται κατασκευαστές για κατασκευαστές. Συζητήστε τα με συναδέλφους προγραμματιστές, ιδρυτές και επενδυτές.", "page-dapps-dapp-description-lido": "Απλοποιημένη και ασφαλής αποθήκευση κεφαλαίου για ψηφιακά στοιχεία.", - "page-dapps-dapp-description-loopring": "Πλατφόρμα συναλλαγών peer-to-peer για περισσότερη ταχύτητα.", "page-dapps-dapp-description-marble-cards": "Δημιουργήστε και ανταλλάξτε μοναδικές ψηφιακές κάρτες με βάση τις διευθύνσεις URL.", "page-dapps-dapp-description-matcha": "Αναζήτηση σε διάφορα ανταλλακτήρια για να σας βοηθήσει να βρείτε τις καλύτερες τιμές.", "page-dapps-dapp-description-meeds": "Κόμβοι κοινότητας Web3 για την εποχή της αποκεντρωμένης εργασίας. Επιβραβεύστε δίκαια και με διαφάνεια τις συνεισφορές που έχουν σημασία.", @@ -115,7 +113,6 @@ "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": "Δημιουργήστε το δικό σας προσαρμοσμένο άβαταρ και 3D κόσμους", "page-dapps-dapp-description-spruce": "Ένα σύνολο ανοιχτού κώδικα για να αφήσετε τον έλεγχο της ταυτότητας και των δεδομένων εκεί που θα έπρεπε: με τους χρήστες.", @@ -202,13 +199,11 @@ "page-dapps-how-dapps-work-p3": "Μόλις οι dapp εγκατασταθούν στο δίκτυο Ethereum δεν μπορείτε να τις αλλάξετε. Οι dapp μπορούν να αποκεντρωθούν επειδή ελέγχονται από τη λογική που γράφεται στο συμβόλαιο και όχι από ένα άτομο ή μια εταιρεία.", "page-dapps-how-dapps-work-title": "Πώς λειτουργούν οι dapp", "page-dapps-ipfs-logo-alt": "Λογότυπο IPFS", - "page-dapps-kyberswap-logo-alt": "Λογότυπο KyberSwap", "page-dapps-learn-callout-button": "Ξεκινήστε να δημιουργείτε", "page-dapps-learn-callout-description": "Η πύλη προγραμματιστών της κοινότητάς μας έχει έγγραφα, εργαλεία και πλαίσια για να σας βοηθήσει να αρχίσετε να χτίζετε ένα dapp.", "page-dapps-learn-callout-image-alt": "Απεικόνιση ενός χεριού που δημιουργεί το σύμβολο του ETH από lego τουβλάκια.", "page-dapps-learn-callout-title": "Μάθετε να δημιουργείτε μια εφαρμογή", "page-dapps-lido-logo-alt": "Λογότυπο Lido", - "page-dapps-loopring-logo-alt": "Λογότυπο Loopring", "page-dapps-magic-behind-dapps-description": "Οι dapp μπορεί να μοιάζουν με κανονικές εφαρμογές. Αλλά στα παρασκήνια έχουν κάποιες ειδικές ιδιότητες, επειδή κληρονομούν όλες τις υπερδυνάμεις του Ethereum. Αυτό κάνει τις dapp διαφορετικές από τις άλλες εφαρμογές.", "page-dapps-magic-behind-dapps-link": "Τι κάνει το Ethereum μοναδικό;", "page-dapps-magic-behind-dapps-title": "Η μαγεία πίσω από τις dapp", @@ -244,7 +239,6 @@ "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": "Επιλογή πορτοφολιού", "page-dapps-set-up-a-wallet-description": "Ένα πορτοφόλι είναι η “σύνδεση” σας σε μια dapp", @@ -280,10 +274,11 @@ "page-wallets-get-some": "Αποκτήστε ETH", "page-dapps-dapp-description-curve": "Το Curve είναι ένα dex που επικεντρώνεται στα κρύπτο σταθερής αξίας", "page-dapps-curve-image-alt": "Λογότυπο Curve", - "page-dapps-dapp-description-dodo": "Το DODO είναι ένας πάροχος ρευστότητας στην αλυσίδα, ο οποίος αξιοποιεί τον αλγόριθμο Proactive Market Maker (PMM)", - "page-dapps-dodo-image-alt": "Λογότυπο DODO", "page-dapps-dapp-description-artblocks": "Το Art Blocks είναι αφιερωμένο στο να ζωντανεύει συναρπαστικά έργα σύγχρονης τέχνης", "page-dapps-artblocks-image-alt": "Λογότυπο Art Blocks", "page-dapps-explore-title": "Θέλετε να δείτε περισσότερες εφαρμογές;", - "page-dapps-explore": "Δείτε τις εκατοντάδες dapps" + "page-dapps-explore": "Δείτε τις εκατοντάδες dapps", + "page-dapps-dapp-description-across": "Το Across είναι μια γέφυρα πολλαπλών αλυσίδων που επιτρέπει στους χρήστες να μεταφέρουν περιουσιακά στοιχεία μεταξύ διαφορετικών αλυσίδων.", + "page-dapps-dapp-description-hop": "Το Hop είναι μια γέφυρα πολλαπλών αλυσίδων που επιτρέπει στους χρήστες να μεταφέρουν περιουσιακά στοιχεία μεταξύ διαφορετικών αλυσίδων.", + "page-dapps-dapp-description-stargate": "Το Stargate είναι μια γέφυρα πολλαπλών αλυσίδων που επιτρέπει στους χρήστες να μεταφέρουν περιουσιακά στοιχεία μεταξύ διαφορετικών αλυσίδων." } diff --git a/src/intl/el/page-developers-local-environment.json b/src/intl/el/page-developers-local-environment.json index f418697a42d..47d014248ab 100644 --- a/src/intl/el/page-developers-local-environment.json +++ b/src/intl/el/page-developers-local-environment.json @@ -28,8 +28,6 @@ "page-local-environment-setup-subtitle": "Αν είστε έτοιμοι να ξεκινήσετε τη δημιουργία, ήρθε η ώρα να επιλέξετε τη δομή δεδομένων σας.", "page-local-environment-setup-subtitle-2": " Δείτε παρακάτω τα εργαλεία και τα πλαίσια που μπορείτε να χρησιμοποιήσετε για να σας βοηθήσουν να δημιουργήσετε την Ethereum εφαρμογή σας.", "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-waffle-desc": "Η πιο προηγμένη βιβλιοθήκη δοκιμών για έξυπνα συμβόλαια. Χρησιμοποιείστε το μόνο του ή με τα Scaffold-eth ή Hardhat.", - "page-local-environment-waffle-logo-alt": "Λογότυπο Waffle" -} + "page-local-environment-solidity-template-desc": "Ένα πρότυπο του GitHub με προρυθμισμένη εγκατάσταση έξυπνου συμβολαίου Solidity. Περιλαμβάνει ένα τοπικό δίκτυο Hardhat, Ethers για εφαρμογή πορτοφολιού και πολλά άλλα.", + "page-local-environment-solidity-template-logo-alt": "Λογότυπο προτύπου Solidity" +} \ No newline at end of file diff --git a/src/intl/el/page-index.json b/src/intl/el/page-index.json index fc84c2e9ca6..3e19e327cb5 100644 --- a/src/intl/el/page-index.json +++ b/src/intl/el/page-index.json @@ -37,10 +37,10 @@ "page-index-cta-dapps-label": "Δοκιμή Εφαρμογών", "page-index-cta-get-eth-description": "Το νόμισμα του Ethereum", "page-index-cta-get-eth-label": "Αγορά ETH", + "page-index-cta-networks-description": "Επωφεληθείτε από τις ελάχιστες χρεώσεις", + "page-index-cta-networks-label": "Επιλογή Δικτύου", "page-index-cta-wallet-description": "Δημιουργία λογαριασμών & διαχείριση περιουσιακών στοιχείων", "page-index-cta-wallet-label": "Επιλογή Πορτοφολιού", - "page-index-cta-build-apps-description": "Δημιουργήστε την πρώτη σας εφαρμογή", - "page-index-cta-build-apps-label": "Ξεκινήστε την ανάπτυξη", "page-index-description": "Η ηγετική πλατφόρμα για καινοτόμες εφαρμογές και δίκτυα κρυπτοαλυσίδων", "page-index-developers-code-example-description-0": "Δημιουργήστε μια τράπεζα που λειτουργεί με λογική προγραμματισμένη από εσάς", "page-index-developers-code-example-description-1": "Δημιουργήστε κρυπτοπαραστατικά που μπορείτε να μεταφέρετε και να χρησιμοποιείτε μεταξύ των εφαρμογών", diff --git a/src/intl/el/page-learn.json b/src/intl/el/page-learn.json index fe185f565de..45a26b3557e 100644 --- a/src/intl/el/page-learn.json +++ b/src/intl/el/page-learn.json @@ -121,4 +121,4 @@ "unchained-description": "Εξερευνά σε βάθος στους ανθρώπους που δημιουργούν το αποκεντρωμένο διαδίκτυο, τις λεπτομέρειες αυτής της τεχνολογίας που θα μπορούσαν να στηρίξουν το μέλλον μας και μερικά από τα πιο ακανθώδη θέματα στην κρυπτογράφηση, όπως η διαχείριση, η ασφάλεια και το απόρρητο.", "the-daily-gwei-title": "Το ημερήσιο Gwei", "the-daily-gwei-description": "Ανακεφαλαιώσεις, ενημερώσεις, αναλύσεις και ειδήσεις Ethereum" -} +} \ No newline at end of file diff --git a/src/intl/el/page-stablecoins.json b/src/intl/el/page-stablecoins.json index c3884c2940b..b293715c768 100644 --- a/src/intl/el/page-stablecoins.json +++ b/src/intl/el/page-stablecoins.json @@ -160,7 +160,6 @@ "example-projects": "Παραδείγματα έργων", "gemini-logo": "Λογότυπο Gemini", "gitcoin-logo": "Λογότυπο Gitcoin", - "loopring-logo": "Λογότυπο Loopring", "makerdao-logo": "Λογότυπο MakerDao", "matcha-logo": "Λογότυπο Matcha", "summerfi-logo": "Λογότυπο Summer.fi", diff --git a/src/intl/el/page-upgrades-index.json b/src/intl/el/page-upgrades-index.json index ebef454cff7..a06abf3133f 100644 --- a/src/intl/el/page-upgrades-index.json +++ b/src/intl/el/page-upgrades-index.json @@ -75,7 +75,7 @@ "page-upgrades-question-1-title": "Πότε θα δημοσιευτούν οι αναβαθμίσεις;", "page-upgrades-question-1-desc": "Το Ethereum αναβαθμίζεται κλιμακωτά. Οι αναβαθμίσεις είναι διακριτές από τις διαφορετικές ημερομηνίες δημοσίευσης.", "page-upgrades-question-2-title": "Η Κύρια Αλυσίδα είναι διαφορετικό blockchain;", - "page-upgrades-question-2-desc": "Ναι. Το όνομα «Κύρια Αλυσίδα« (Beacon Chain) δόθηκε σε μια παράλληλη κρυπτοαλυσίδα για την απόδειξη συμμετοχής που χρησιμοποιήθηκε για την αναβάθμιση του Κεντρικού Δικτύου του Ethereum. Πλέον υπάρχει μόνο μία κρυπτοαλυσίδα οποία σχηματίστηκε από τη συγχώνευση της αρχικής κρυπτοαλυσίδας του Ethereum με την Κύρια Αλυσίδα.", + "page-upgrades-question-2-desc": "Ναι. Το όνομα «Κύρια Αλυσίδα» (Beacon Chain) δόθηκε σε μια παράλληλη κρυπτοαλυσίδα για την απόδειξη συμμετοχής που χρησιμοποιήθηκε για την αναβάθμιση του Κεντρικού Δικτύου του Ethereum. Πλέον υπάρχει μόνο μία κρυπτοαλυσίδα οποία σχηματίστηκε από τη συγχώνευση της αρχικής κρυπτοαλυσίδας του Ethereum με την Κύρια Αλυσίδα.", "page-upgrades-question-3-answer-2a": "Οι συνέπειες της Συγχώνευσης για τους προγραμματιστές των αποκεντρωμένων εφαρμογών ήταν ελάχιστες. Εξακολουθούν να αλληλεπιδρούν με το Ethereum όπως πριν.", "page-upgrades-question-3-answer-2a-link": "Η Συγχώνευση και οι προγραμματιστές dapp", "page-upgrades-question-3-answer-2b": "Τα σχέδια τμηματοποίησης είναι ακόμα υπό ανάπτυξη, αλλά θα σχεδιαστούν με γνώμονα τα πακέτα ενημερώσεων του επιπέδου 2.", diff --git a/src/intl/el/page-wallets-find-wallet.json b/src/intl/el/page-wallets-find-wallet.json index e4595b5f0ee..7727d6a438e 100644 --- a/src/intl/el/page-wallets-find-wallet.json +++ b/src/intl/el/page-wallets-find-wallet.json @@ -65,7 +65,7 @@ "page-find-wallet-new-to-crypto-desc": "Νέος χρήστης σε αναζήτηση πορτοφολιού για αρχάριους.", "page-find-wallet-nfts-title": "NFTs", "page-find-wallet-nfts-desc": "Πορτοφόλι με υποστήριξη για NFT.", - "page-find-wallet-hodler-title": "Μακροχρόνια", + "page-find-wallet-hodler-title": "Εξοπλισμός", "page-find-wallet-hodler-desc": "Παθητική εκμετάλλευση ψηφιακών στοιχείων με πορτοφόλια υλικού.", "page-find-wallet-finance-title": "Οικονομικά", "page-find-wallet-finance-desc": "Πορτοφόλια που εστιάζουν στη συχνή χρήση εφαρμογών DeFi.", diff --git a/src/intl/el/page-what-is-ethereum.json b/src/intl/el/page-what-is-ethereum.json index 80c4fb89829..e6196851de0 100644 --- a/src/intl/el/page-what-is-ethereum.json +++ b/src/intl/el/page-what-is-ethereum.json @@ -102,7 +102,7 @@ "page-what-is-ethereum-kernel-dreamers": "Kernel", "page-what-is-ethereum-kernel-dreamers-desc": "Το όνειρο του Ethereum", "page-what-is-ethereum-atoms-institutions-blockchains": "Atoms, Ιδρύματα, Blockchains", - "page-what-is-ethereum-atoms-institutions-blockchains-desc": "- Γιατί έχουν σημασία οι blockchain;", + "page-what-is-ethereum-atoms-institutions-blockchains-desc": "- Γιατί έχουν σημασία οι κρυπτοαλυσίδες;", "page-what-is-ethereum-ethereum-in-numbers-title": "Το Ethereum σε αριθμούς", "page-what-is-ethereum-ethereum-in-numbers-stat-1-desc": "Έργα που δημιουργήθηκαν στο Ethereum", "page-what-is-ethereum-ethereum-in-numbers-stat-2-desc": "Λογαριασμοί (πορτοφόλια) με υπόλοιπο σε ΕΤΗ", diff --git a/src/intl/el/template-usecase.json b/src/intl/el/template-usecase.json index 535886b7632..d706fa823da 100644 --- a/src/intl/el/template-usecase.json +++ b/src/intl/el/template-usecase.json @@ -4,6 +4,7 @@ "template-usecase-dropdown-nft": "Μη Εναλλάξιμα Κρυπτοπαραστατικά (NFT)", "template-usecase-dropdown-dao": "Αποκεντρωμένοι αυτόνομοι οργανισμοί (DAOs)", "template-usecase-dropdown-payments": "Πληρωμές Ethereum", + "template-usecase-dropdown-prediction-markets": "Αγορές προβλέψεων", "template-usecase-dropdown-social-networks": "Αποκεντρωμένα κοινωνικά δίκτυα", "template-usecase-dropdown-identity": "Αποκεντρωμένη ταυτότητα", "template-usecase-dropdown-desci": "Αποκεντρωμένη επιστήμη (DeSci)", @@ -12,4 +13,4 @@ "template-usecase-banner": "Οι χρήσεις του Ethereum συνεχώς αναπτύσσονται και εξελίσσονται. Προσθέστε κάθε πληροφορία που νομίζετε ότι θα καταστήσει τα στοιχεία πιο σαφή ή πιο ενημερωμένα.", "template-usecase-edit-link": "Επεξεργασία σελίδας", "template-usecase-dropdown-aria": "Αναδυόμενο μενού πεζών-κεφαλαίων" -} \ No newline at end of file +}