Holochain Dev Pulse 20 - Επανεξέταση εμπιστοσύνης και δεδομένων

Κρυπτογραφία και Συλλογή Πολυπλοκότητας

Holochain Dev Pulse 20

Περίληψη

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

Καλύτερες στιγμές

  1. Καταγραφή της πολυπλοκότητας και χαρτογράφηση των παρακείμενων δυνατοτήτων
  2. Χαρακτηριστικό API: Επαλήθευση υπογραφής και υποστήριξη KeyStore χαμηλού επιπέδου
  3. Ενεργοποίηση Holo: Εκκίνηση σε πραγματικό στάδιο
  4. Εμπειρία προγραμματιστών: Δοκιμή μονάδας DNA με Rust HDK
  5. Χαρακτηριστικό σπάσιμο αλλαγής / API: Επικύρωση CRUD
  6. Προκλήσεις: Συγχρονισμός της διαδικασίας απελευθέρωσης και υποστήριξης DevOps
Holochain Dev Pulse 11-18 Μαρτίου 2019

Λεπτομέριες

1. Καταγραφή της πολυπλοκότητας και χαρτογράφηση των παρακείμενων δυνατοτήτων

Η αρχή KISS - ανεξάρτητα από ό, τι λέτε ότι υποστηρίζουν οι S είναι - είναι αξιωματική για τους προγραμματιστές. Οι απλές έννοιες και ο απλός κώδικας διευκολύνουν τη διαχείριση του κωδικού σας. Ωστόσο, κάθε έργο έχει ένα μέτρο μη αναστρέψιμης πολυπλοκότητας, και αποδεικνύεται ότι η οικοδόμηση μιας νέας κατανεμημένης στοίβας για το Διαδίκτυο έχει πολλά από αυτά.

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

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

Έχουμε κάνει πολλά back-the-scenes εργασίες αυτή την περασμένη εβδομάδα, χαρτογράφηση όλη την πολυπλοκότητα που έχουμε αποκαλύψει μέχρι στιγμής. Έχουμε δημιουργήσει πολλά αρχιτεκτονικά διαγράμματα και έγγραφα στη διαδικασία. Ωστόσο, το τελικό αποτέλεσμα δεν είναι κομμάτια χαρτιού - είναι εμπιστοσύνη. Γνωρίζουμε από πού βρισκόμαστε και ξέρουμε πού θα ακολουθήσουμε. Κάθε κομμάτι της πολυπλοκότητας, όταν κατανοείται και καταγράφεται, γίνεται γνωστό πράγμα.

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

2. Χαρακτηριστικό API: Επαλήθευση υπογραφής και Υποστήριξη KeyStore χαμηλού επιπέδου

Η κρυπτογραφία βρίσκεται στην καρδιά του σχεδιασμού του Holochain. είναι αυτό που επιτρέπει στους συμμετέχοντες να εμπιστεύονται την εγκυρότητα των δεδομένων που βλέπουν. Η κρυπτογραφία δημόσιου κλειδιού - ειδικά οι υπογραφές - είναι ένα από τα βασικά πρωτόγονα για την οικοδόμηση εγγενούς εμπιστοσύνης στα δεδομένα.

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

Ψηφιακή επαλήθευση

Στην επόμενη έκδοση alpha θα δείτε την προσθήκη της συνάρτησης `verify_signature ()` ως συμπλήρωμα του `sign ()`. Αυτό μας φέρνει πιο κοντά στην ισοτιμία χαρακτηριστικών με το Holochain-Proto. Είναι πολύ συναρπαστικό, επειδή σημαντικές εφαρμογές όπως το DPKI και το HoloFuel βασίζονται σε μεγάλο βαθμό σε δεδομένα που έχουν υπογραφεί από δύο ή περισσότερα κλειδιά. Εάν σχεδιάζετε μια εφαρμογή που απαιτεί συναλλαγές που έχουν υπογεγραμμένες ή εγγυήσεις τρίτων - όπως συμβάσεις, νομίσματα και επαλήθευση ταυτότητας - αυτές οι δύο λειτουργίες είναι κρίσιμες για εσάς.

Καθώς ένα άτομο χρησιμοποιεί περισσότερες εφαρμογές του Holochain, θα δημιουργήσει πολλά κλειδιά που αντιπροσωπεύουν και ελέγχουν την ταυτότητά τους στα δίκτυα στα οποία ανήκουν. Το DPKI είναι μια βασική εφαρμογή σχεδιασμένη για τη διαχείριση αυτών των κλειδιών. Μερικές φορές χρειάζεται να υπογράψει δεδομένα με κλειδιά από άλλες εφαρμογές. Προς το παρόν, δημιουργούμε υποστήριξη χαμηλού επιπέδου για ένα "πληκτρολόγιο", το οποίο περιέχει όλα τα κλειδιά ενός χρήστη σε μια συσκευή και τα καθιστά προσβάσιμα στις κατάλληλες εφαρμογές. Σημείωση: Αυτή η λειτουργία θα είναι στα 0.0.8-alpha.

3. Ενεργοποίηση Holo: Εκκίνηση σε πραγματικό στάδιο

Καθώς αναβαθμίζουμε τη δοκιμή Holo Closed Alpha, οι απαιτήσεις του Holo συνεχίζουν να ωθούν τις λειτουργίες του Holochain. Υπάρχει ένα τελικό σημείο API διαχειριστή αγωγού, `admin / instance / add ', το οποίο σας επιτρέπει να δημιουργήσετε μια παρουσία ενός συγκεκριμένου DNA. Ο Holo Hosting Interceptor, ο οποίος περιστρέφει νέες περιπτώσεις για τη φιλοξενία συσκευών για λογαριασμό των χρηστών του διαδικτύου, χρησιμοποιεί αυτό το τελικό σημείο για να κάνει τη δουλειά του. Μέχρι στιγμής, είχε μόνο γραπτές καταχωρήσεις στο αρχείο ρυθμίσεων, πράγμα που σήμαινε ότι έπρεπε να επανεκκινήσετε τον Διευθυντή για να εφαρμοστούν οι αλλαγές. Τώρα, δημιουργούνται στιγμιότυπα αμέσως. Σημείωση: Αυτό σημαίνει ότι έχουν δημιουργηθεί ένα περιστατικό για έναν χρήστη, δεν έχουν αρχίσει πραγματικά.

4. Εμπειρία προγραμματιστών: Δοκιμή μονάδας DNA με Rust HDK

Εδώ είναι ένα ελάχιστα γνωστό γεγονός - μπορείτε να γράψετε δοκιμές μονάδας για τον κωδικό σας zome, να μεταγλωττίσετε το DNA σας σε κατάσταση δοκιμής και να εκτελέσετε τις δοκιμές χωρίς να πυροδοτήσετε τον πλήρη αγωγό ανάπτυξης. Χωρίς αυτό το αίτημα έλξης, θα έπρεπε να προσθέσετε οι ίδιοι ορισμούς κενών λειτουργιών για όλες τις λειτουργίες HDK API, για να μην λάβετε "ανεπίλυτες αναφορές" όταν προσπαθείτε να εκτελέσετε `test cargo '.

Αυτή η αλλαγή προσθέτει παραλείψεις για κάθε λειτουργία API του HDK, ώστε να μπορείτε να γράφετε δοκιμές μονάδων για τις λειτουργίες zome που εξαρτώνται από το API. Είναι αρκετά περιορισμένο. οι δοκιμές σας δεν πρέπει να περιμένουν πραγματικές απαντήσεις από τις κλήσεις API του Holochain, όπως `commit_entry ()` και `get_entry ()`. Οι τιμές επιστροφής θα είναι πάντα επιτυχείς με ένα άδειο ωφέλιμο φορτίο!

5. Σπάσιμο της αλλαγής / API χαρακτηριστικό: CRUD Validation

Τώρα μπορείτε να ορίσετε κανόνες επαλήθευσης για την κατάργηση ή την ενημέρωση μιας καταχώρησης. Αυτό έρχεται με μια σπασμένη αλλαγή: οι λειτουργίες επικύρωσης θα λάβουν μόνο ένα όρισμα, ένα enum που ονομάζεται `hdk :: EntryValidation `, όταν αυτό το χαρακτηριστικό έρχεται με 0.0.8-alpha. Η γενική παράμετρος 'T' αντιπροσωπεύει τη δομή των τύπων εισόδου σας. Το enum έρχεται σε τρεις γεύσεις:

  • `Δημιουργία ', που περιέχει τη νέα καταχώρηση.
  • 'Τροποποίηση', η οποία περιέχει τις παλιές και τις νέες καταχωρήσεις, καθώς και την κεφαλίδα της παλιάς καταχώρησης.
  • `Delete`, που περιέχει την παλιά καταχώρηση και την κεφαλίδα της.

Και οι τρεις από αυτές περιέχουν επίσης το πακέτο επικύρωσης. Θα παρέχουμε περισσότερη τεκμηρίωση όταν αυτή η δυνατότητα είναι διαθέσιμη.

6. Προκλήσεις: Συγχρονισμός της διαδικασίας απελευθέρωσης και υποστήριξη DevOps

Είμαστε ακόμα στη διαδικασία προσαρμογής στη νέα διαδικασία απελευθέρωσής μας και είμαστε ευγνώμονες για την υπομονή σας καθώς επεξεργαζόμαστε τα μαθήματα - τα διδάγματα που μάθαμε - ακολουθήστε το σενάριο έκδοσης της επιστολής και προσέξτε ότι αυτά τα δοκιμαστικά των Windows αποτυγχάνουν στο υποψήφιος απελευθέρωση Στόχος μας είναι να συγχρονίζουμε τα εβδομαδιαία Dev Pulses με εβδομαδιαίες κυκλοφορίες.

Είμαστε επίσης στην ευχάριστη θέση να αναφέρουμε ότι προσλάβαμε έναν μηχανικό DevOps την περασμένη εβδομάδα και χτύπησε το έδαφος. Ένας από τους συνεργάτες μας σχολίασε ότι έχει ήδη αποδείξει την αξία του.

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

Δημιουργία App / Πλατφόρμας στο Holochain; Θέλουμε να ακούσουμε από εσάς!

Κατασκευάζετε το Holochain; Θα θέλαμε να συνδεθούμε και να ακούσουμε περισσότερα σχετικά με την εφαρμογή / πλατφόρμα σας. Αφιερώστε λίγα λεπτά για να συμπληρώσετε αυτήν την έρευνα! Στόχος μας είναι να καταγράψουμε όλα τα έργα που βασίζονται στο Holochain στην ιστοσελίδα μας.

Υπέρβαση στοίβας: Αναπτύξτε τη Γνωσιακή Βάση του Holochain

Βοηθήστε μας να αναπτύξουμε τη βάση γνώσεων Holochain για την υπερχείλιση στοίβας!

Υποβάλετε την ερώτησή σας στο Holochain.
Υποβάλετε την ερώτησή σας για τη σκουριά.

Στη συνέχεια:

1) Άδεια προεπισκόπησης προγραμματιστή 0.0.8-alpha

Συνδεθείτε με την κοινότητα προγραμματιστών:

  • Κατασκευάστηκε στο Holochain: Πύλη για προγραμματιστές
  • Εφαρμόστε: Ψάχνουμε για ένα Rust Dev και έναν ιδιοκτήτη προϊόντος & Συντονιστής απελευθέρωσης!
  • Συνδεθείτε στο Twitter