Παρουσιάζοντας το Scribble by ConsenSys Diligence

blog 1ΕιδήσειςΑναπτυσσόμενοιΕξέτασηΕπεξήγηση BlockchainΕκδηλώσεις και ΣυνέδριαΠατήστεΕνημερωτικά δελτία

Εγγραφείτε στο newsletter μας.

Διεύθυνση ηλεκτρονικού ταχυδρομείου

Σεβόμαστε το απόρρητό σας

ΑρχικήBlogNews

Παρουσιάζοντας το Scribble by ConsenSys Diligence

από ConsenSys 8 Δεκεμβρίου 2020 Δημοσιεύτηκε στις 8 Δεκεμβρίου 2020

Κακογραφία

Η σιγουριά ότι οι έξυπνες συμβάσεις είναι ασφαλείς και χωρίς σφάλματα δεν ήταν ποτέ πιο κρίσιμη. Δυστυχώς, παραμένει ένα δύσκολο έργο. Ενώ υπάρχουν χρήσιμα εργαλεία για αυτόματες δοκιμές και επίσημη επαλήθευση, η διασφάλιση της ορθότητας των έξυπνων συμβάσεων εξακολουθεί να είναι χρονοβόρα και απαιτητική εργασία. Για να επιδεινωθούν τα πράγματα, κάθε εργαλείο έχει συχνά μια απότομη καμπύλη μάθησης και είναι συχνά αβέβαιο αν είναι ακόμη σωστό για τη δουλειά.

Γι ‘αυτό έχουμε αναπτύξει το Scribble: μια γλώσσα επαλήθευσης και ένα εργαλείο επαλήθευσης χρόνου εκτέλεσης. Ενώ δημιουργήσαμε αρχικά για αυτόματο έλεγχο ιδιοκτησίας κατά τη διάρκεια ελέγχων, αποφασίσαμε να μοιραστούμε αυτό το έργο με την κοινότητα!

Τι είναι η κακογραφία?

Όταν μιλάμε για Scribble, μιλάμε για δύο πράγματα.

Πρώτον, το Scribble είναι μια γλώσσα προδιαγραφών για ιδιότητες γραφής.

Δεύτερον, το Scribble είναι ένα εργαλείο επαλήθευσης χρόνου εκτέλεσης που χρησιμοποιεί τη γλώσσα προδιαγραφών Scribble.

ΣΗΜΕΙΩΣΗ: Το Scribble δεν εκτελεί καμία επαλήθευση από μόνο του. Το κάνει Ενεργοποιήστε άλλα εργαλεία για τον έλεγχο και τον έλεγχο ιδιοτήτων.


Η κακογραφία είναι μια γλώσσα

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

ΣΗΜΕΙΩΣΗ: Μια ιδιότητα είναι μια λογική δήλωση που αναμένετε να είναι αληθινή, π.χ. «Όλα τα αυτοκίνητα είναι κόκκινα». Για λόγους σταθερότητας, θα έχετε συχνά ιδιότητες όπως: “Μόνο ο κάτοχος μπορεί να κάνει αλλαγή σε X”. Ή “Function sendToken (), δεν πρέπει να αλλάξει το υπόλοιπο αιθέρα αυτής της σύμβασης”.

Μπορείτε να χρησιμοποιήσετε διάφορους τύπους σχολιασμών για διαφορετικά είδη ιδιοτήτων. Για παράδειγμα, αναλλοίωτες ή μετα-συνθήκες.

Αυτό είναι ένα παράδειγμα σχολιασμού Scribble:

Στιγμιότυπο 2020 12 08 στις 12 06 15 μ.μ.

Όπως μπορείτε να δείτε, οι σχολιασμοί έχουν τη μορφή ενός ενσωματωμένου σχολίου που τοποθετείται πάνω από έναν ορισμό συνάρτησης. Προσθέσαμε τη λεγόμενη ρήτρα if_succeeds, η οποία ελέγχει εάν μια συνθήκη διατηρείται μετά την εκτέλεση της συνάρτησης. Σε αυτήν την περίπτωση, ελέγχουμε ότι το αποτέλεσμα της συνάρτησης είναι πάντα μη μηδενικό.

Διαβάστε την τεκμηρίωση Scribble

Βασίζαμε τη γλώσσα Scribble σε αποδεδειγμένες έννοιες όπως μετα-συνθήκες, αναλλοίωτες και χρονικές λογικές. Αλλά εξετάζουμε επίσης πώς μπορούμε να εισαγάγουμε νέες ιδέες που να ταιριάζουν καλύτερα σε συγκεκριμένους τομείς προβλημάτων έξυπνων συμβάσεων.

Το Scribble είναι ένα εργαλείο

Το Scribble μπορεί να αναλάβει ένα συμβόλαιο με σχόλια με ιδιότητες και να το συντάξει σε ένα νέο συμβόλαιο. Σε αυτό το νέο συμβόλαιο, η Scribble θα έχει προσθέσει κωδικό Solidity που αυξάνει τον ισχυρισμό κάθε φορά που μια ιδιοκτησία παραβιάζεται. Αυτό το ονομάζουμε οργάνωση διαδικασίας.

Η προσθήκη εκτελέσιμου κώδικα που ελέγχει τις ιδιότητες ονομάζεται επαλήθευση χρόνου εκτέλεσης και διευκολύνει την εργασία με υπάρχοντα εργαλεία χωρίς πολλές προσαρμογές. Αυτό συμβαίνει επειδή τα περισσότερα εργαλεία θα ερμηνεύσουν ήδη τον κώδικα σταθερότητας και θα μπορούν να αναζητήσουν αμέσως παραβιάσεις ιδιοκτησίας!

Επειδή μπορείτε να χρησιμοποιήσετε τις υπάρχουσες τεχνικές αυτόματων δοκιμών (όπως το fuzzer μας Χάροβι), θα μπορείτε να ξεκινήσετε τη δοκιμή αφού γράψετε μόνο μία ιδιότητα. Πιστεύουμε ότι αυτό είναι ένα σημαντικό όφελος. Επωφεληθείτε από τις αυτόματες δοκιμές αμέσως, αντί να χρειαστεί να ξοδέψετε πολύ χρόνο εκ των προτέρων για να κερδίσετε μια κρίσιμη μάζα σχολιασμών. Κάτι που είναι συνήθως απαραίτητο με παραδοσιακές προσεγγίσεις επαλήθευσης.

Μπορείτε να ξεκινήσετε να δοκιμάζετε και να αναλύετε ένα συμβόλαιο γρήγορα και ακόμη και να αποφασίσετε αργότερα να καταβάλλετε επιπλέον προσπάθεια για την πλήρη επαλήθευση ενός έξυπνου συμβολαίου!

Στόχοι

Ελεγχος

Χρησιμοποιούμε το Scribble κατά τη διάρκεια ελέγχων για τη διαμόρφωση ιδιοτήτων. Χρησιμοποιώντας τεχνικές αυτόματης ανάλυσης, όπως fuzzing και συμβολική εκτέλεση, θα δοκιμάσουμε αυτόματα και θα εντοπίσουμε παραβάσεις για αυτές τις ιδιότητες.

Επικοινωνήστε μαζί μας για να μάθετε περισσότερα σχετικά με την ασαφή και δοκιμή βάσει ιδιοκτησίας κατά τη διάρκεια ελέγχων

Πρότυπο

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

Υιοθεσία

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

Πού μπορείτε να το πάρετε?

Διαθέτουμε Scribble ανοιχτού κώδικα και είναι διαθέσιμη τώρα στις github.com/consensys/scribble.

ΣΗΜΕΙΩΣΗ: Πρόκειται για έκδοση beta, οι πτυχές της γλώσσας θα αλλάξουν και ενδέχεται να αντιμετωπίσετε κάποια σφάλματα.

Μπορείτε εύκολα να εγκαταστήσετε το Scribble με npm:

Στιγμιότυπο οθόνης 2020 12 08 στις 12 06 35 μ.μ. Εγκαταστήστε το Scribble

Ενημερωτικό δελτίο Εγγραφείτε στο ενημερωτικό δελτίο μας για τις τελευταίες ειδήσεις Ethereum, εταιρικές λύσεις, πόρους προγραμματιστών και πολλά άλλα. Διεύθυνση ηλεκτρονικού ταχυδρομείου Αποκλειστικό περιεχόμενοΈκθεση Ethereum Q3 2020 DeFiΚανω ΑΝΑΦΟΡΑ

Έκθεση Ethereum Q3 2020 DeFi

Έκθεση Ethereum Q2 2020 DeFiΚανω ΑΝΑΦΟΡΑ

Έκθεση Ethereum Q2 2020 DeFi

Έκθεση Ethereum 2 0 Staking EcosystemΚανω ΑΝΑΦΟΡΑ

Έκθεση σχετικά με το οικολογικό σύστημα Ethereum 2.0

Πλήρης οδηγός για επιχειρηματικά δίκτυα BlockchainΟδηγός

Πλήρης οδηγός για επιχειρηματικά δίκτυα Blockchain

Πώς να δημιουργήσετε ένα επιτυχημένο προϊόν BlockchainΔιαδικτυακό σεμινάριο

Πώς να δημιουργήσετε ένα επιτυχημένο προϊόν Blockchain

Κεντρικές τράπεζες και το μέλλον του χρήματοςΛευκό χαρτί

Κεντρικές τράπεζες και το μέλλον του χρήματος

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map