[Greek] Marlowe: χρηματοοικονομικές συμβάσεις σε blockchain

Original article link
Οι πρώτοι υπολογιστές προγραμματίστηκαν σε “κώδικα μηχανής”. Κάθε είδος συστήματος είχε διαφορετικό κώδικα, και οι κώδικες αυτοί ήταν χαμηλού επιπέδου και ανέκφραστοι: τα προγράμματα ήταν μεγάλες ακολουθίες πολύ απλών εντολών, ασυμπίεστες για όποιον δεν τις είχε γράψει. Σήμερα είμαστε σε θέση να χρησιμοποιούμε γλώσσες υψηλότερου επιπέδου όπως η C, η Java και η Haskell για να προγραμματίζουμε συστήματα. Οι ίδιες γλώσσες μπορούν να χρησιμοποιηθούν σε πολύ διαφορετικές μηχανές και οι δομές των προγραμμάτων αντικατοπτρίζουν αυτό που κάνουν. Στο blockchain, τα ισοδύναμά τους είναι γλώσσες όπως η Solidity και η Simplicity. Αυτές οι σύγχρονες γλώσσες υψηλότερου επιπέδου είναι γενικού σκοπού - μπορούν να χρησιμοποιηθούν για την επίλυση όλων των ειδών των διαφορετικών προβλημάτων - αλλά οι λύσεις που εκφράζουν εξακολουθούν να είναι προγράμματα και εξακολουθούν να απαιτούν δεξιότητες προγραμματισμού για την αποτελεσματική χρήση τους. Αντίθετα, η Marlowe είναι μια γλώσσα ειδικού τομέα (DSL) η οποία έχει σχεδιαστεί για να μπορεί να χρησιμοποιηθεί από κάποιον που είναι ειδικός σε έναν συγκεκριμένο τομέα: στην περίπτωση της Marlowe, τα χρηματοοικονομικά συμβόλαια, και δεν απαιτεί δεξιότητες προγραμματισμού για τη χρήση της.

Η χρήση μιας DSL έχει πολλά πλεονεκτήματα πέρα από τη χρήση της από μη προγραμματιστές:

  • Μπορούμε να διασφαλίσουμε ότι ορισμένα είδη κακών προγραμμάτων δεν μπορούν καν να γραφτούν, σχεδιάζοντας αυτές τις δυνατότητες έξω από τη γλώσσα, και με αυτόν τον τρόπο μπορούμε να στοχεύσουμε στην αποφυγή ορισμένων από τις απρόβλεπτες εκμεταλλεύσεις που αποτέλεσαν πρόβλημα για τις υπάρχουσες αλυσίδες μπλοκ.

  • Μπορούμε επίσης να ελέγξουμε ευκολότερα ότι τα προγράμματα έχουν τις ιδιότητες που θέλουμε: για παράδειγμα, στην περίπτωση ενός χρηματοοικονομικού συμβολαίου μπορεί να θέλουμε να βεβαιωθούμε ότι το συμβόλαιο δεν μπορεί ποτέ να αποτύχει να πραγματοποιήσει μια πληρωμή που θα έπρεπε.

  • Επειδή πρόκειται για DSL, μπορούμε να δημιουργήσουμε εργαλεία ειδικού σκοπού για να βοηθήσουμε τους ανθρώπους να γράψουν προγράμματα στη γλώσσα. Στην περίπτωση του Marlowe μπορούμε να μιμηθούμε τον τρόπο με τον οποίο θα συμπεριφέρεται ένα συμβόλαιο πριν εκτελεστεί πραγματικά στο σύστημα- αυτό μας βοηθά να βεβαιωθούμε ότι το συμβόλαιο που έχουμε γράψει κάνει αυτό που πρέπει.

Το Marlowe έχει ως πρότυπο τις DSL χρηματοοικονομικών συμβολαίων που έγιναν δημοφιλείς την τελευταία δεκαετία περίπου από ακαδημαϊκούς και επιχειρήσεις όπως η LexiFi, η οποία παρέχει λογισμικό συμβολαίων στον χρηματοοικονομικό τομέα. Κατά την ανάπτυξη του Marlowe προσαρμόσαμε αυτές τις γλώσσες ώστε να λειτουργούν στην αλυσίδα μπλοκ (blockchain). Το Marlowe υλοποιείται στο επίπεδο διακανονισμού (SL) της αλυσίδας μπλοκ Cardano, αλλά θα μπορούσε εξίσου καλά να υλοποιηθεί στο Ethereum/Solidity ή σε άλλες πλατφόρμες αλυσίδας μπλοκ- από αυτή την άποψη είναι “platform agnostic”, όπως οι σύγχρονες γλώσσες προγραμματισμού όπως η Java και η C++. Το διαδικτυακό εργαλείο εξομοιωτή Meadow σας επιτρέπει να πειραματιστείτε, να αναπτύξετε και να αλληλεπιδράσετε με τα συμβόλαια Marlowe στο πρόγραμμα περιήγησης ιστού σας, χωρίς να χρειάζεται να εγκαταστήσετε κανένα λογισμικό για τον εαυτό σας.

Πώς μοιάζει ένα συμβόλαιο Marlowe; Κατασκευάζεται συνδυάζοντας έναν μικρό αριθμό δομικών στοιχείων που περιγράφουν την πραγματοποίηση μιας πληρωμής, την παρατήρηση κάποιου πράγματος στον “πραγματικό κόσμο”, την αναμονή μέχρι να γίνει αληθής μια συγκεκριμένη συνθήκη κ.ο.κ. Το σημείο στο οποίο διαφέρουμε από τις προηγούμενες προσεγγίσεις είναι ο τρόπος με τον οποίο διασφαλίζουμε ότι το συμβόλαιο ακολουθείται. Αυτό σημαίνει όχι μόνο ότι οι οδηγίες του συμβολαίου δεν παραβιάζονται, αλλά και ότι οι συμμετέχοντες δεν αποχωρούν πρόωρα, αφήνοντας χρήματα κλειδωμένα στο συμβόλαιο για πάντα. Αυτό το επιτυγχάνουμε χρησιμοποιώντας δύο εργαλεία, τις δεσμεύσεις και τα χρονικά όρια: η δέσμευση απαιτεί από τον συμμετέχοντα να “βάλει τα χρήματά του στο τραπέζι”, και μέσω των χρονικών ορίων διασφαλίζουμε ότι η δέσμευση αυτή γίνεται εγκαίρως ή ότι λαμβάνονται διορθωτικά μέτρα. Συνδυάζοντας αυτές τις κατασκευές, μπορούμε να δώσουμε κίνητρα στους συμμετέχοντες να συνεχίσουν τη σύμβαση, αφού έχουν δεσμευτεί σε αυτήν.

Επεξεργαζόμαστε μια πλήρη έκδοση του Marlowe για τα μέσα του 2019, οπότε και θα είναι διαθέσιμο στο Cardano SL. Από σήμερα, μπορείτε να εξερευνήσετε μόνοι σας το Marlowe χρησιμοποιώντας το Meadow και να μάθετε πολύ περισσότερες λεπτομέρειες από το ηλεκτρονικό μας έγγραφο. Τους επόμενους έξι μήνες θα τελειοποιήσουμε τον ίδιο τον σχεδιασμό της γλώσσας και θα αναπτύξουμε ένα σύνολο προτύπων για δημοφιλή χρηματοπιστωτικά μέσα, καθώς και θα χρησιμοποιήσουμε εργαλεία τυπικής λογικής για την απόδειξη των ιδιοτήτων των συμβολαίων Marlowe, παρέχοντας στους χρήστες το υψηλότερο επίπεδο βεβαιότητας ότι τα συμβόλαιά τους συμπεριφέρονται όπως προβλέπεται.