Σημείωμα 64: Ελάχιστη αρχική προδιαγραφή, τοπικές μελλοντικές αποφάσεις και εθελοντική υιοθέτηση για ένα σύστημα συντονισμού του Διαδικτύου
Πώς μπορούν τα ανεξάρτητα δίκτυα να συντονίζονται χωρίς να δημιουργούν μια μόνιμη αρχή;

Περίληψη
Αυτό το έγγραφο περιγράφει ένα μοτίβο σχεδιασμού για συστήματα συντονισμού Διαδικτύου, σκοπός του οποίου είναι η παροχή κοινών τεχνικών σημείων αναφοράς χωρίς τη δημιουργία μιας συνεχούς αρχής πάνω από τους συμμετέχοντες που διαχειρίζονται το σύστημα. Ορίζει τρεις συνδεδεμένες αρχές: Ελάχιστη αρχική προδιαγραφή, τοπική μελλοντική απόφαση και εθελοντική υιοθεσία.
Σύμφωνα με αυτό το μοντέλο, η αρχική προδιαγραφή ορίζει μόνο τους ντετερμινιστικούς, τοπικά επαληθεύσιμους κανόνες που απαιτούνται για μοναδικότητα, διαλειτουργικότητα, κοινή ασφάλεια και ασφάλεια. Μετά την αρχική προδιαγραφή, οι μελλοντικές αλλαγές δεν εγκρίνονται από κεντρικό φορέα. Υιοθετούνται, αγνοούνται, διαχωρίζονται ή εγκαταλείπονται από τους συμμετέχοντες που τρέχουν τον κώδικα.
Η μη υιοθεσία δεν αποτελεί παράβαση. Ένας συμμετέχων που δεν υιοθετεί μεταγενέστερη αλλαγή παραμένει στο υπάρχον σύνολο συμβατότητας. Ένας συμμετέχων που εκπέμπει κατάσταση που δεν ισχύει σύμφωνα με τους ντετερμινιστικούς κανόνες που είναι αποδεκτοί από άλλο συμμετέχοντα μπορεί να αγνοηθεί τοπικά από αυτόν τον συμμετέχοντα. Το αποτέλεσμα είναι επιλογή συμβατότητας, πιρούνι, απομόνωση ή επιλεκτική διαλειτουργικότητα, όχι θεσμική τιμωρία.
Αυτό το έγγραφο δεν ορίζει πρωτόκολλο καλωδίου. Καθορίζει μια Βέλτιστη Τρέχουσα Πρακτική για το σχεδιασμό πρωτοκόλλων, μητρώων, συστημάτων αναγνώρισης και μηχανισμών συντονισμού που δεν πρέπει να γίνουν μόνιμοι θεσμοί διακυβέρνησης.
1. Εισαγωγή
Πολλά συστήματα Διαδικτύου ξεκινούν με έναν στενό τεχνικό σκοπό: να επιτρέπουν σε ανεξάρτητους φορείς να διαλειτουργούν μοιράζοντας ένα κοινό σημείο αναφοράς, χώρο αναγνωριστικού, κανόνα επικύρωσης ή εγγραφή παρόμοια με το μητρώο. Με την πάροδο του χρόνου, τέτοια συστήματα συχνά συσσωρεύουν εξουσία που δεν ήταν απαραίτητη για την αρχική διαλειτουργικότητα.
Αυτό συμβαίνει συνήθως σε τρία βήματα.
Πρώτον, οι μελλοντικές ερωτήσεις τοποθετούνται στο ιδρυτικό επίπεδο πριν είναι τεχνικά απαραίτητες.
Δεύτερον, οι επιλογές που πρέπει να γίνουν από τους συμμετέχοντες που διαχειρίζονται τα δικά τους συστήματα εξαρτώνται από αποφάσεις αναγνώρισης, ερμηνείας ή κατάστασης από ένα συνεχιζόμενο σώμα.
Τρίτον, η δημοσίευση, η εγγραφή, η σύσταση ή η διαδικαστική έγκριση αντιμετωπίζεται ως επαρκής για τη δημιουργία επιχειρησιακής υποχρέωσης, ακόμη και όταν οι συμμετέχοντες δεν έχουν υιοθετήσει την αλλαγή στα τρέχοντα συστήματα.
Το αποτέλεσμα είναι ένα εύθραυστο σύστημα. Ένα τεχνικό επίπεδο αναφοράς γίνεται επίπεδο διακυβέρνησης. Ένας φύλακας αρχείων γίνεται θυρωρός. Ένα τεχνούργημα συντονισμού γίνεται πηγή μελλοντικού ελέγχου.
Αυτό το έγγραφο προτείνει μια διαφορετική πειθαρχία σχεδιασμού:
– Ελάχιστη αρχική προδιαγραφή: προσδιορίστε μόνο τους ντετερμινιστικούς κοινούς κανόνες που απαιτούνται για τη βασική διαλειτουργικότητα, τη μοναδικότητα, την κοινή ασφάλεια και την ασφάλεια.
– Τοπική μελλοντική απόφαση: μετά την αρχική προδιαγραφή, διατηρήστε τις μελλοντικές επιλογές με τους συμμετέχοντες να εκτελούν κώδικα. Ένας συμμετέχων μπορεί να υιοθετήσει, να αρνηθεί, να διαχωρίσει, να αποσυνδεθεί ή να διαλειτουργήσει επιλεκτικά. Κανένας συμμετέχων δεν μπορεί να αλλάξει τη διαλειτουργικότητα άλλων συμμετεχόντων που συνεχίζουν να εφαρμόζουν αμοιβαία συμβατούς κανόνες.
– Εθελούσια Υιοθεσία: να γίνει πραγματικότητα η μεταγενέστερη αλλαγή μόνο μέσω υλοποίησης, λειτουργίας, επικύρωσης και υιοθέτησης από τους συμμετέχοντες που εκτελούν κώδικα.
Αυτές οι αρχές σχετίζονται. Ένα σύστημα που καθορίζει πάρα πολλά στην αρχή προ-φορτώνει τον μελλοντικό έλεγχο στο κοινό επίπεδο. Ένα σύστημα που αφήνει ένα επίπεδο συνεχούς αναγνώρισης επιτρέπει την επανεμφάνιση της αρχής μετά την ανάπτυξη. Ένα σύστημα που αντιμετωπίζει τη δημοσίευση ως πραγματικότητα μετατρέπει την τεκμηρίωση σε εντολή.
Η σχεδιαστική διαίσθηση είναι απλή: η εγκυρότητα πρέπει να καθορίζεται από ντετερμινιστικούς κανόνες που οι συμμετέχοντες μπορούν να επαληθεύσουν τοπικά. Ένας συμμετέχων μπορεί να υιοθετήσει μια μεταγενέστερη αλλαγή, να την αρνηθεί, να διαχωρίσει, να αποσυνδεθεί ή να διαλειτουργήσει επιλεκτικά. Μπορεί το πολύ να αφαιρεθεί από ένα σύνολο συμβατότητας. Δεν μπορεί, με την άρνηση μιας αλλαγής, να σπάσει τη διαλειτουργικότητα άλλων συμμετεχόντων που συνεχίζουν να εκτελούν αμοιβαία συμβατό κώδικα.
Αυτό είναι το ίδιο γενικό μάθημα ορατό σε συστήματα όπως το Bitcoin: οι κανόνες συναίνεσης επιβάλλονται από αυτούς που εκτελούν τον κώδικα επικύρωσης και όχι από ένα ίδρυμα που βρίσκεται πάνω από αυτούς.
2. Πεδίο εφαρμογής
Αυτό το έγγραφο ισχύει για συστήματα συντονισμού Διαδικτύου, συμπεριλαμβανομένων ενδεικτικά κοινών μητρώων, συστημάτων αναγνωριστικών, πλαισίων ονομασίας και αρίθμησης, μηχανισμών επέκτασης πρωτοκόλλου, συστημάτων απόδειξης ελέγχου, συστημάτων φορητότητας και άλλων αρχιτεκτονικών στις οποίες ανεξάρτητοι φορείς βασίζονται σε ένα κοινό τεχνικό σημείο αναφοράς.
Αυτό το έγγραφο δεν αντιτίθεται στους κοινούς κανόνες. Υποστηρίζει ότι οι κοινοί κανόνες πρέπει να είναι ντετερμινιστικοί, ελάχιστοι, τοπικά επαληθεύσιμοι και να περιορίζονται σε αυτό που πραγματικά χρειάζεται το σύστημα για να λειτουργήσει.
Αυτό το έγγραφο δεν απαιτεί blockchain, κατανεμημένο καθολικό ή κάποια συγκεκριμένη τεχνολογία. Απαιτεί μια ιδιότητα σχεδιασμού: οι συμμετέχοντες θα πρέπει να είναι σε θέση να προσδιορίσουν την εγκυρότητα εφαρμόζοντας την Αρχική Προδιαγραφή τοπικά, χωρίς να ζητήσουν άδεια ή κατάσταση από μια μόνιμη αρχή.
3. Συμβάσεις και ορισμοί
3.1. Απαιτήσεις Γλώσσα
Οι όροι απαίτησης με κεφαλαία σε αυτό το έγγραφο πρέπει να ερμηνεύονται με την έννοια που ορίζεται από το BCP 14, συγκεκριμένα τα RFC 2119 και RFC 8174.
3.2. Ορολογία
Αρχική προδιαγραφή:
Το σύνολο κανόνων, δομών δεδομένων, μορφών, αμετάβλητων, διαδικασιών επικύρωσης και κανόνων μετάβασης που απαιτούνται για την πρώτη ανάπτυξη ενός συστήματος.
Κοινό στρώμα:
Το ελάχιστο κοινό σύνολο κανόνων ή η δομή αναφοράς που απαιτείται για τη διαλειτουργικότητα των ανεξάρτητων συμμετεχόντων. Το κοινό στρώμα δεν είναι θεσμός. Είναι η τεχνική ουσία που εφαρμόζουν και επαληθεύουν οι συμμετέχοντες.
Ντετερμινιστικός κανόνας επικύρωσης:
Ένας κανόνας που επιτρέπει σε έναν συμμετέχοντα να αποφασίσει, μέσω τοπικού υπολογισμού ή τοπικής επαλήθευσης, εάν μια κατάσταση, εγγραφή, μετάβαση, διαβεβαίωση ή μήνυμα είναι έγκυρη σύμφωνα με ένα καθορισμένο σύνολο κανόνων.
Καθολική αναλλοίωτη:
Μια ιδιότητα που πρέπει να παραμείνει κοινή σε ένα σύνολο συμβατότητας προκειμένου να διατηρηθεί η μοναδικότητα, η βασική διαλειτουργικότητα, η κοινή ασφάλεια ή η ασφάλεια.
Συμμέτοχος:
Ένας χειριστής, υλοποίηση, κόμβος, δίκτυο, οργανισμός ή άλλος παράγοντας που εκτελεί, επαληθεύει, αναπτύσσει ή βασίζεται στο σύστημα.
Σετ συμβατότητας:
Μια ομάδα συμμετεχόντων των οποίων οι εφαρμοσμένοι κανόνες επικύρωσης τους επιτρέπουν να διαλειτουργούν. Μια μεταγενέστερη αλλαγή μπορεί να δημιουργήσει ένα νέο σύνολο συμβατότητας, εάν ορισμένοι συμμετέχοντες το υιοθετήσουν και άλλοι όχι.
Υιοθεσία:
Πραγματική υλοποίηση, ανάπτυξη, επικύρωση και χρήση από τους συμμετέχοντες που εκτελούν το σύστημα.
Μη υιοθεσία:
Η επιλογή ενός συμμετέχοντα να μην εφαρμόσει ή να χρησιμοποιήσει μια προτεινόμενη αλλαγή. Η μη υιοθεσία δεν δημιουργεί μη έγκυρη κατάσταση. Σημαίνει μόνο ότι ο συμμετέχων δεν έχει ενταχθεί στο σύνολο συμβατότητας που δημιουργήθηκε από αυτήν την αλλαγή.
Τοπική απόρριψη:
Η τοπική απόφαση ενός συμμετέχοντα να αγνοήσει, να απορρίψει ή να μην συνεργαστεί με μια κατάσταση, μήνυμα, εγγραφή ή μετάβαση που δεν είναι έγκυρη ή μη συμβατή σύμφωνα με τους κανόνες επικύρωσης που εκτελεί.
Πιρούνι:
Μια απόκλιση στους κανόνες επικύρωσης ή στην επιχειρησιακή πρακτική που δημιουργεί δύο ή περισσότερα σύνολα συμβατότητας.
Artifact συντονισμού:
Ένα έγγραφο, καταχώρηση μητρώου, σύσταση, σημείωση υλοποίησης, προφίλ, υλοποίηση αναφοράς ή άλλο τεχνούργημα που βοηθά τους συμμετέχοντες να συντονιστούν. Ένα τεχνούργημα συντονισμού δεν δημιουργεί δεσμευτική επιχειρησιακή πραγματικότητα εκτός εάν οι συμμετέχοντες το υιοθετήσουν σε συστήματα που λειτουργούν.
4. Δήλωση προβλήματος
Οι σχεδιαστές συχνά προσπαθούν να μειώσουν τη μελλοντική αβεβαιότητα γράφοντας πάρα πολλά στο ιδρυτικό στρώμα ή αφήνοντας ένα συνεχές σώμα να ερμηνεύει μελλοντικές ερωτήσεις. Αυτό φαίνεται συνετό. Συχνά είναι επικίνδυνο.
Η υπερβολική προδιαγραφή στο ιδρυτικό στρώμα έχει τρία κόστη.
Πρώτον, μετακινεί τις μελλοντικές επιλογές σε ένα κοινό επίπεδο όπου η αλλαγή είναι πιο δύσκολη και όπου η σύλληψη έχει μεγαλύτερο αποτέλεσμα.
Δεύτερον, δημιουργεί ασάφεια μεταξύ της τεχνικής εγκυρότητας και της θεσμικής αναγνώρισης.
Τρίτον, ενθαρρύνει ένα όργανο που διατηρεί αρχεία, δημοσιεύει έγγραφα ή συγκαλεί τους συμμετέχοντες να αντιμετωπίζουν αυτές τις πράξεις ως εξουσία για τη μελλοντική πραγματικότητα.
Το ίδιο πρόβλημα εμφανίζεται μετά την ανάπτυξη. Εάν ένα σύστημα απαιτεί από ένα συνεχιζόμενο σώμα να εγκρίνει την αλλαγή, να καθορίσει την κατάσταση ή να ερμηνεύσει τη συνήθη λειτουργία, το σύστημα έχει δημιουργήσει ένα επίπεδο ελέγχου μετά την ίδρυση. Αυτό το στρώμα μπορεί να ξεκινήσει ως χορήγηση. Μπορεί να γίνει διακυβέρνηση. Στη συνέχεια μπορεί να γίνει σημείο πνιγμού.
Ο σχεδιαστικός στόχος αυτού του εγγράφου δεν είναι η καλύτερη θεσμική διακριτική ευχέρεια. Ο στόχος του σχεδιασμού είναι να αποφευχθεί η ανάγκη αυτής της διακριτικής ευχέρειας.
Ένα καλά σχεδιασμένο σύστημα συντονισμού στο Διαδίκτυο θα πρέπει να ορίζει ντετερμινιστικούς, τοπικά επαληθεύσιμους κανόνες εγκυρότητας στην αρχή. θα πρέπει να αφήνει μη αμετάβλητες επιλογές έξω από το κοινό επίπεδο. και θα πρέπει να επιτρέπει σε μεταγενέστερες αλλαγές να γίνουν πραγματικές μόνο όταν οι συμμετέχοντες τις υιοθετήσουν οικειοθελώς σε λειτουργικά συστήματα.
5. Αρχή 1: Ελάχιστη αρχική προδιαγραφή
5.1. Δήλωση
Μια αρχική προδιαγραφή ΠΡΕΠΕΙ να ορίζει μόνο τους ελάχιστους ντετερμινιστικούς κοινούς κανόνες που απαιτούνται για τη βασική διαλειτουργικότητα, τη μοναδικότητα, την κοινή ασφάλεια και την ασφάλεια.
5.2. Απαιτήσεις
Ένα σχέδιο που χρησιμοποιεί αυτή την αρχή:
1. ΠΡΕΠΕΙ να προσδιορίζει ρητά τα Global Invariants του.
2. ΠΡΕΠΕΙ να ορίζει ντετερμινιστικούς κανόνες επικύρωσης για κάθε Καθολική Αναλλοίωτη.
3. ΔΕΝ ΠΡΕΠΕΙ να τοποθετείται κανόνας στην αρχική προδιαγραφή εκτός εάν ο κανόνας απαιτείται για τη διατήρηση ενός δηλωμένου καθολικού αναλλοίωτου ή για την ενεργοποίηση της πρώτης ανάπτυξης.
4. ΠΡΕΠΕΙ να διαχωρίζει τους κανόνες επικύρωσης από τις προτιμήσεις πολιτικής, τις επιχειρηματικές ρυθμίσεις, τους θεσμικούς ρόλους, τις φιλοδοξίες διακυβέρνησης και τη διακριτική κρίση.
5. ΠΡΕΠΕΙ να επιτρέπει στους συμμετέχοντες να επαληθεύουν την τυπική εγκυρότητα τοπικά χωρίς να ρωτούν κανένα ίδρυμα, μητρώο, επιτροπή, φορέα πολιτικής ή άλλη αρχή.
6. ΠΡΕΠΕΙ να ορίζει δομές δεδομένων, υπογραφές, αποδείξεις, κανόνες μετάβασης κατάστασης, κανόνες σύγκρουσης ή άλλους μηχανισμούς απαραίτητους για τοπική επαλήθευση.
7. ΠΡΕΠΕΙ να ορίζει τη σηματοδότηση επέκτασης, την έκδοση εκδόσεων, την επισήμανση συμβατότητας ή την αναγνώριση διχάλων, όπου είναι προβλέψιμη μελλοντική παραλλαγή.
8. ΠΡΕΠΕΙ να διασφαλίζει ότι τα απαιτούμενα τεχνουργήματα συντονισμού είναι φορητά, ελεγχόμενα, αναπαραγόμενα και αντικαταστάσιμα.
9. ΠΡΕΠΕΙ να προτιμούν αντικειμενικές συνθήκες επαληθεύσιμες από μηχανή έναντι της υποκειμενικής αξιοκρατικής κρίσης.
10. ΔΕΝ ΠΡΕΠΕΙ να κάνει τη μελλοντική θεσμική αναγνώριση τη μόνη διαδρομή μέσω της οποίας μια έγκυρη κατάσταση μπορεί να γίνει γνωστή, να καταγραφεί ή να χρησιμοποιηθεί.
5.3. Επιπτώσεις σχεδιασμού
Ελάχιστη αρχική προδιαγραφή δεν σημαίνει αόριστες προδιαγραφές. Σημαίνει αυστηρή προδιαγραφή μόνο του τι πρέπει να είναι κοινό.
Ένα σύστημα χρειάζεται ακόμα αρκετή κοινή δομή για να λειτουργήσει. Η πειθαρχία είναι να γίνει διάκριση μεταξύ:
– τι πρέπει να είναι κοινό για τη μοναδικότητα, τη διαλειτουργικότητα, την κοινή ασφάλεια και ασφάλεια· και
– τι μπορεί να παραμείνει εκτός του κοινού επιπέδου επειδή αφορά την προτίμηση του χειριστή, την επιχειρηματική πρακτική, το χρονοδιάγραμμα ανάπτυξης ή την επιλογή μεταγενέστερης υιοθέτησης.
Ένα σχέδιο που δεν μπορεί να αναφέρει με σαφήνεια τα καθολικά αμετάβλητα και τους ντετερμινιστικούς κανόνες επικύρωσης θα πρέπει να υποθέτει ότι έχει καθορίσει υπερβολική διακριτικότητα και πολύ λίγη επαληθεύσιμη ουσία.
6. Αρχή 2: Τοπική Μελλοντική Απόφαση
6.1. Δήλωση
Μετά την αρχική προδιαγραφή, οι μελλοντικές αποφάσεις ΠΡΕΠΕΙ να παραμένουν τοπικές για τους συμμετέχοντες που εκτελούν τον κώδικα. Μια Μελλοντική Απόφαση τίθεται σε ισχύ μόνο για το σύνολο συμβατότητας του οποίου οι συμμετέχοντες την υιοθετούν. Δεν απαιτείται συνεχής αρχή για την έγκρισή του και η μη υιοθεσία δεν δημιουργεί άκυρη κατάσταση.
6.2. Απαιτήσεις
Ένα σχέδιο που χρησιμοποιεί αυτή την αρχή:
1. ΔΕΝ ΠΡΕΠΕΙ να απαιτεί από τους συμμετέχοντες να λάβουν άδεια από ένα κατεστημένο ίδρυμα, μητρώο, επιτροπή, συμβούλιο, φορέα πολιτικής ή άλλη αρχή για επιλογές που δεν αλλάζουν τους ντετερμινιστικούς κανόνες επικύρωσης του συνόλου συμβατότητας στο οποίο συμμετέχουν.
2. ΔΕΝ ΠΡΕΠΕΙ να δημιουργείται ένα μόνιμο σώμα του οποίου η αναγνώριση είναι ο μόνος δρόμος μέσω του οποίου μια μεταγενέστερη αλλαγή μπορεί να γίνει λειτουργικά πραγματική.
3. ΠΡΕΠΕΙ να διακρίνει την εγκυρότητα σύμφωνα με την αρχική προδιαγραφή από τη συμβατότητα με μια μεταγενέστερη προαιρετική αλλαγή.
4. ΔΕΝ ΠΡΕΠΕΙ να αντιμετωπίζει τη μη υιοθέτηση μεταγενέστερης αλλαγής ως ακυρότητα.
5. ΠΡΕΠΕΙ να επιτρέπει στους συμμετέχοντες να παραμείνουν σε ένα υπάρχον σύνολο συμβατότητας όταν δεν υιοθετήσουν μια μεταγενέστερη αλλαγή.
6. ΠΡΕΠΕΙ να επιτρέπει στους συμμετέχοντες να ενταχθούν σε ένα νέο σύνολο συμβατότητας υιοθετώντας νέους κανόνες επικύρωσης ή λειτουργικά προφίλ.
7. ΠΡΕΠΕΙ να επιτρέπει στους συμμετέχοντες να απορρίπτουν τοπικά καταστάσεις, εγγραφές, μεταβάσεις ή μηνύματα που δεν είναι έγκυρα ή ασύμβατα σύμφωνα με τους κανόνες επικύρωσης που εκτελούν.
8. ΔΕΝ ΠΡΕΠΕΙ να εξουσιοδοτήσει κανένα ίδρυμα, μητρώο, επιτροπή, φορέα πολιτικής ή άλλο παράγοντα να κηρύξει έναν συμμετέχοντα άκυρο απλώς και μόνο επειδή αρνήθηκε μια μεταγενέστερη αλλαγή.
9. ΠΡΕΠΕΙ να καταστήσουν ρητά τα forks, τις εκδόσεις, τα προφίλ ή τα σύνολα συμβατότητας, ώστε οι συμμετέχοντες να γνωρίζουν ποιους κανόνες εκτελούν και με ποιους άλλους συμμετέχοντες μπορούν να συνεργαστούν.
10. ΠΡΕΠΕΙ να αποφεύγεται οποιοδήποτε σχέδιο στο οποίο ένας κατεστημένος φύλακας αρχείων μπορεί να εμποδίσει τους κατά τα άλλα έγκυρους συμμετέχοντες από τη συνέχιση της διαλειτουργικότητας.
6.3. Επιπτώσεις σχεδιασμού
Τοπική μελλοντική απόφαση δεν σημαίνει ότι μια κεντρική αρχή αναθέτει μελλοντικές αποφάσεις σε τοπικούς παράγοντες. Σημαίνει ότι το σύστημα είναι σχεδιασμένο έτσι ώστε, μετά την αρχική προδιαγραφή, οι συνήθεις μελλοντικές επιλογές να μην χρειάζονται τέτοια κατανομή.
Η αρχική προδιαγραφή κάνει την περιοριστική εργασία εκ των προτέρων. Καθορίζει τα ελάχιστα αμετάβλητα που απαιτούνται για μοναδικότητα, διαλειτουργικότητα, κοινή ασφάλεια και ασφάλεια. Όλα τα άλλα παραμένουν έξω από το κοινό στρώμα.
Η μελλοντική αλλαγή δεν εγκρίνεται κεντρικά. Υιοθετείται, αγνοείται, διαχωρίζεται ή εγκαταλείπεται από τους συμμετέχοντες που τρέχουν τον κώδικα.
Ένας συμμετέχων που αρνείται μια αλλαγή μπορεί να παραμείνει εκτός του συνόλου συμβατότητας που δημιουργήθηκε από αυτήν την αλλαγή. Μπορεί να αποσυνδεθεί από τους άλλους. Μπορεί να συνεχιστεί σε παλαιότερο σετ συμβατότητας. Μπορεί να διχαλώσει. Μπορεί να διαλειτουργεί επιλεκτικά. Αλλά δεν μπορεί να σπάσει τη διαλειτουργικότητα άλλων συμμετεχόντων που συνεχίζουν να εφαρμόζουν αμοιβαία συμβατούς κανόνες.
Το αποτέλεσμα της άκυρης ή ασυμβίβαστης κατάστασης είναι η τοπική απόρριψη, όχι η τιμωρία. Κανείς δεν χρειάζεται να αποφασίσει ότι ένας συμμετέχων είναι σε κακή κατάσταση. Ένας συμμετέχων που εκτελεί συμβατούς κανόνες επικύρωσης απλά δεν αποδέχεται τη μη έγκυρη ή μη συμβατή κατάσταση.
7. Αρχή 3: Εθελούσια Υιοθεσία
7.1. Δήλωση
Οι αλλαγές σε ένα σύστημα συντονισμού του Διαδικτύου ΠΡΕΠΕΙ να γίνουν λειτουργικά πραγματικές μέσω της εφαρμογής, της επικύρωσης, της ανάπτυξης και της υιοθέτησης από τους συμμετέχοντες και όχι μέσω της δημοσίευσης ή της δήλωσης μόνο.
7.2. Απαιτήσεις
Ένα σχέδιο που χρησιμοποιεί αυτή την αρχή:
1. ΔΕΝ ΠΡΕΠΕΙ να αντιμετωπίζει τη δημοσίευση, την εγγραφή, τη σύσταση, την έγκριση συνεδρίασης ή τη διαδικαστική έγκριση ως επαρκή για τη δημιουργία καθολικής επιχειρησιακής υποχρέωσης.
2. ΠΡΕΠΕΙ να επιτρέπει τη σταδιακή ανάπτυξη νέων κανόνων, επεκτάσεων, προφίλ ή διαδικασιών από συμμετέχοντες που επιλέγουν να τους εκτελέσουν.
3. ΠΡΕΠΕΙ να επιτρέπει στους συμμετέχοντες να αρνηθούν μια μεταγενέστερη αλλαγή χωρίς να αποκτήσουν μη έγκυρη κατάσταση, εφόσον οι δικές τους μεταβάσεις κατάστασης πληρούν τους ντετερμινιστικούς κανόνες επικύρωσης του συνόλου συμβατότητάς τους.
4. ΠΡΕΠΕΙ να επιτρέπει στους συμμετέχοντες να συνεχίσουν να χρησιμοποιούν ένα παλαιότερο σύνολο συμβατότητας όπου η Αρχική Προδιαγραφή επιτρέπει αυτή τη συνέχεια.
5. ΠΡΕΠΕΙ να επιτρέπει στους συμμετέχοντες που εκτελούν ένα σύνολο συμβατότητας να απορρίπτουν ή να αγνοούν τοπικά την κατάσταση από ένα άλλο σύνολο συμβατότητας όπου οι κανόνες είναι ασυμβίβαστοι.
6. ΠΡΕΠΕΙ να ορίζει διαδρομές υιοθέτησης για σημαντικές αλλαγές, συμπεριλαμβανομένης της σηματοδότησης έκδοσης, της επισήμανσης συμβατότητας, της καθοδήγησης μετάβασης και των διανυσμάτων δοκιμής.
7. ΠΡΕΠΕΙ να ορίζει διαδρομές άρνησης για σημαντικές αλλαγές, συμπεριλαμβανομένου του τρόπου με τον οποίο οι συμμετέχοντες που δεν υιοθετούν συνεχίζουν τη λειτουργία τους, να αναγνωρίζουν το σύνολο συμβατότητάς τους και να αποφεύγουν τη διφορούμενη διαλειτουργικότητα.
8. ΠΡΕΠΕΙ να διασφαλίζει ότι τα απαιτούμενα τεχνουργήματα συντονισμού μπορούν να εξέλθουν, να μεταφερθούν, να αντικατοπτριστούν, να υλοποιηθούν εκ νέου ή να αντικατασταθούν χωρίς αδύνατο κόστος μετάβασης.
9. ΠΡΕΠΕΙ να διαθέτει μητρώα, αρχεία, συστάσεις και τεχνουργήματα συντονισμού που περιγράφουν την υιοθετημένη πραγματικότητα αντί να δηλώνουν ότι υπάρχει μη υιοθετημένη μελλοντική πραγματικότητα.
10. ΠΡΕΠΕΙ να αποφευχθεί ο σχεδιασμός ενός συστήματος στο οποίο ο μόνος τρόπος για να γίνει πραγματική μια αλλαγή είναι η προηγούμενη αναγνώριση από έναν υφιστάμενο φορέα.
7.3. Επιπτώσεις σχεδιασμού
Η εθελοντική υιοθεσία είναι η επιχειρησιακή δοκιμή για το εάν μια αλλαγή είναι χρήσιμη, ανεκτή και συμβατή με την πραγματική ανάπτυξη.
Μια πρόταση δεν είναι πραγματικότητα. Μια σύσταση δεν είναι πραγματικότητα. Μια ενημέρωση μητρώου δεν είναι πραγματικότητα. Ένα έγγραφο δεν είναι πραγματικότητα. Η πραγματικότητα εμφανίζεται όταν οι συμμετέχοντες εφαρμόζουν, επικυρώνουν, αναπτύσσουν και βασίζονται στην αλλαγή.
Η μη υιοθεσία δεν δημιουργεί κατάσταση παραβίασης. Δημιουργεί μόνο ένα γεγονός: ο συμμετέχων δεν έχει ενταχθεί στο σύνολο συμβατότητας που δημιουργήθηκε από την αλλαγή.
Αυτό δεν εξαλείφει τις διαδικασίες προτύπων, τα μητρώα, την τεκμηρίωση ή την αναθεώρηση. Περιορίζει τον ισχυρισμό τους. Μπορούν να βοηθήσουν τους συμμετέχοντες να συντονιστούν. Μπορούν να δημοσιεύσουν υλικό αναφοράς. Μπορούν να περιγράψουν την υιοθεσία. Μπορούν να συστήσουν. Δεν επιτρέπεται, μόνο με δήλωση, να καταστήσουν δεσμευτική τη μη υιοθετημένη μελλοντική πραγματικότητα για τους συμμετέχοντες που δεν τη διαχειρίζονται.
8. Σχέση μεταξύ των τριών αρχών
Οι τρεις αρχές αλληλοενισχύονται και δεν είναι αποτελεσματικές μεμονωμένα.
Η ελάχιστη αρχική προδιαγραφή διασφαλίζει ότι το κοινό επίπεδο περιέχει ντετερμινιστικούς κανόνες επικύρωσης και όχι διακριτική εξουσία.
Το Localized Future Decision διασφαλίζει ότι οι μελλοντικές επιλογές παραμένουν με τους συμμετέχοντες να εκτελούν κώδικα αντί να συλλαμβάνονται ξανά από ένα κεντρικό επίπεδο έγκρισης.
Η εθελοντική υιοθεσία διασφαλίζει ότι η μεταγενέστερη αλλαγή πρέπει να επιβιώσει σε επαφή με την εφαρμογή και τη χρήση.
Ένα σύστημα που υιοθετεί μόνο μία ή δύο από αυτές τις αρχές μπορεί να αναπαράγει την ίδια συγκέντρωση με άλλα μέσα.
– Η ελάχιστη αρχική προδιαγραφή χωρίς τοπική μελλοντική απόφαση μπορεί να εξακολουθεί να επιτρέπει τη συσσώρευση εξουσιών μετά την ανάπτυξη.
– Η προσαρμοσμένη μελλοντική απόφαση χωρίς ελάχιστη αρχική προδιαγραφή μπορεί να δημιουργήσει ασάφεια, επειδή οι συμμετέχοντες δεν μπορούν να προσδιορίσουν τοπικά την εγκυρότητα.
– Η εθελοντική υιοθεσία χωρίς ντετερμινιστική επικύρωση μπορεί να προκαλέσει σύγχυση, επειδή οι συμμετέχοντες δεν μπορούν να διακρίνουν τη συμβατή παραλλαγή από τη μη έγκυρη κατάσταση.
– Η ντετερμινιστική επικύρωση χωρίς έξοδο, φορητότητα ή δυνατότητα αντικατάστασης μπορεί να εξακολουθήσει να προκαλεί κλείδωμα εάν τα τεχνουργήματα τήρησης αρχείων καταστεί αδύνατο να φύγουν.
Μαζί, οι αρχές παράγουν ένα σύστημα στο οποίο το κοινό στρώμα είναι λεπτό, η εγκυρότητα είναι τοπικά επαληθεύσιμη, η μελλοντική αλλαγή είναι εθελοντική και δεν απαιτείται μόνιμος φορέας για να αποφασιστεί η συνήθης λειτουργία.
9. Συνιστώμενο σχέδιο σχεδίασης
9.1. Ντετερμινιστικό κοινό στρώμα
Το κοινό επίπεδο ΠΡΕΠΕΙ να περιορίζεται σε:
– σταθερή σημασιολογία αναγνωριστικού.
– ντετερμινιστικοί κανόνες εγκυρότητας.
– κανόνες επίλυσης συγκρούσεων που είναι απαραίτητοι για τη διατήρηση της μοναδικότητας·
– απαιτήσεις διαλειτουργικότητας σε επίπεδο καλωδίου ή πρωτοκόλλου·
– κοινόχρηστα αμετάβλητα στοιχεία ασφάλειας·
– μηχανισμούς απόδειξης ελέγχου, όπου χρειάζεται·
– φορητές και ελεγχόμενες μορφές αρχείων, όπου απαιτούνται αρχεία·
– σηματοδότηση επέκτασης και αναγνώριση συνόλου συμβατότητας.
Το κοινό επίπεδο ΔΕΝ ΠΡΕΠΕΙ να περιέχει:
– κανόνες επιχειρηματικού μοντέλου·
– κανόνες τιμολόγησης·
– περιφερειακές πολιτικές προτιμήσεις·
– ιδεολογία επιλεξιμότητας που δεν σχετίζεται με τεχνικά αμετάβλητα·
– διακριτικές εξουσίες επιβολής·
– υποκειμενικές αξιολογήσεις αξίας·
– επέκταση της θεσμικής αποστολής·
– κάθε κανόνας του οποίου η κύρια λειτουργία είναι η διατήρηση της εξουσίας ενός κατεστημένου φορέα.
9.2. Επιφάνεια απόφασης χειριστή
Τα ακόλουθα ΠΡΕΠΕΙ να παραμείνουν εκτός του κοινού επιπέδου, εκτός εάν αλλάζουν άμεσα μια δηλωμένη καθολική αναλλοίωτη:
– χρονοδιάγραμμα ανάπτυξης·
– εμπορική χρήση·
– γεωγραφία πελατών·
– συμφωνίες μίσθωσης, χρηματοδότησης ή μεταβίβασης·
– τοπική προτίμηση επιλεξιμότητας·
– λειτουργική αλληλουχία·
– Δεν απαιτείται πρακτική δρομολόγησης για κοινή εγκυρότητα·
– επιχειρηματικό μοντέλο·
– οργανωτική δομή·
– χρονοδιάγραμμα εκούσιας μετανάστευσης·
– προαιρετικά προφίλ ή επεκτάσεις.
Οι συμμετέχοντες ΜΠΟΡΕΙ να υιοθετήσουν διαφορετικές επιλογές σε αυτούς τους τομείς. Αυτές οι επιλογές μπορεί να παράγουν διαφορετικά σύνολα συμβατότητας, επιχειρηματικές σχέσεις, συμφωνίες ομότιμης συνεργασίας ή λειτουργικές κοινότητες. Δεν δημιουργούν ακυρότητα εκτός εάν παραβιάζουν ντετερμινιστικούς κανόνες επικύρωσης σε ένα σύνολο συμβατότητας.
9.3. Βρόχος υιοθεσίας
Όπου είναι εφικτό, η προτιμώμενη σειρά για αλλαγή συστήματος υλικού είναι:
1. πρόταση·
2. υλοποίηση.
3. διανύσματα δοκιμής ή ντετερμινιστική μέθοδος επαλήθευσης.
4. περιορισμένη ανάπτυξη από πρόθυμους συμμετέχοντες.
5. Παρατήρηση των επιπτώσεων διαλειτουργικότητας και ασφάλειας.
6. Σήμανση συνόλου συμβατότητας.
7. τεκμηρίωση ή σύσταση που περιγράφει την υιοθετημένη πραγματικότητα.
Ένα τεχνούργημα συντονισμού ΠΡΕΠΕΙ να ακολουθεί την υιοθέτηση αντί να προσπαθεί να το προλάβει.
9.4. Έξοδος, Διακλάδωση και Φορητότητα
Ένας συμβατός σχεδιασμός ΠΡΕΠΕΙ να αντιμετωπίζει την έξοδο, το πιρούνι και τη φορητότητα ως συνήθεις απαιτήσεις σχεδιασμού και όχι ως αστοχίες.
Το σύστημα ΠΡΕΠΕΙ να ορίζει πώς ένας συμμετέχων μπορεί:
– συνεχίστε σε παλαιότερο σετ συμβατότητας.
– υιοθετήστε ένα νεότερο σύνολο συμβατότητας.
– διχάσετε σε ένα διαφορετικό σετ συμβατότητας.
– αρχεία λιμένων, αναγνωριστικά, αποδείξεις ή κατάσταση λειτουργίας·
– επαλήθευση της εγκυρότητας των αρχείων χωρίς να βασίζεστε σε κατεστημένο αρχειοφύλακα·
– να διαλειτουργούν επιλεκτικά όπου το επιτρέπει η συμβατότητα.
Ένα σύστημα που δεν μπορεί να βγει ή να διακλαδωθεί χωρίς να καταστρέψει την έγκυρη λειτουργία έχει πιθανώς κρυμμένη εξουσία διακυβέρνησης μέσα στη λειτουργία τήρησης αρχείων.
10. Εφαρμογή και Όρια
Αυτό το σχέδιο σχεδίασης είναι ιδιαίτερα εφαρμόσιμο όταν:
– το σύστημα είναι πολλαπλών παραγόντων και πολλαπλών δικαιοδοσιών·
– θέματα ανεξάρτητης ανάπτυξης·
– το στρώμα συντονισμού προορίζεται να παραμείνει λεπτό·
– η μελλοντική διακύμανση είναι πιθανή, αλλά δεν μπορεί να προβλεφθεί λεπτομερώς.
– το κλείδωμα θα δημιουργούσε κίνδυνο διακυβέρνησης·
– η εγκυρότητα μπορεί να γίνει ντετερμινιστική ή τοπικά επαληθεύσιμη.
Μπορεί να είναι λιγότερο άμεσα εφαρμόσιμο όταν:
– ένας ενιαίος διοικητικός τομέας είναι η επιδιωκόμενη αρχιτεκτονική.
– Η ισχυρή σύζευξη σε πραγματικό χρόνο απαιτεί ομοιόμορφη συμπεριφορά ανά πάσα στιγμή.
– οι ανησυχίες για την ασφάλεια της ζωής απαιτούν άμεση παγκόσμια ομοιομορφία·
– η εγκυρότητα δεν μπορεί να επαληθευτεί τοπικά με κανένα πρακτικό μηχανισμό.
Ακόμη και σε τέτοιες περιπτώσεις, οι σχεδιαστές ΠΡΕΠΕΙ να ελαχιστοποιούν το κοινό επίπεδο και να αποφεύγουν τον διακριτικό μελλοντικό έλεγχο όπου είναι δυνατόν.
11. Μη Γκολ
Αυτό το έγγραφο δεν:
– απαγόρευση κάθε συντονισμού·
– να απαγορεύσει όλα τα κοινόχρηστα μητρώα·
– απαιτούν τεχνολογία blockchain ή κατανεμημένης λογιστικής·
– εγγύηση συναίνεσης·
– εγγυάται την πολιτική ουδετερότητα·
– απαιτούν από όλους τους συμμετέχοντες να υιοθετούν κάθε μεταγενέστερη αλλαγή·
– να αντιμετωπίζει την άρνηση υιοθεσίας ως αναπηρία·
– νομιμοποίηση ασυμβίβαστης τοπικής συμπεριφοράς ενώ διεκδικεί συμβατότητα·
– εξάλειψη της ανάγκης για κοινούς κανόνες κρίσιμους για την ασφάλεια.
12. Θέματα ασφαλείας
Ένα λεπτότερο στρώμα συντονισμού μπορεί να μειώσει τον κίνδυνο σύλληψης, να μειώσει την ακτίνα έκρηξης του θεσμικού σφάλματος και να βελτιώσει τη δυνατότητα αντικατάστασης. Ωστόσο, η αυξημένη τοπική διακριτική ευχέρεια μπορεί επίσης να δημιουργήσει ασυνεπή στάση ασφαλείας, διαδρομές υποβάθμισης, πίεση κατακερματισμού, διφορούμενες αξιώσεις συμβατότητας και μη ασφαλείς διχάλες.
Ως εκ τούτου, οι σχεδιαστές που εφαρμόζουν αυτό το έγγραφο ΠΡΕΠΕΙ να προσδιορίζουν ρητά τις αναλλοίωτες πληροφορίες ασφαλείας. Ειδικότερα:
– Οι απαιτήσεις επαλήθευσης ταυτότητας και εξουσιοδότησης που απαιτούνται για την κοινή εγκυρότητα ΠΡΕΠΕΙ να είναι καθοριστικές και τοπικά επαληθεύσιμες·
– η διαπραγμάτευση έκδοσης και ο χειρισμός της επέκτασης ΠΡΕΠΕΙ να αποφεύγεται η σιωπηρή υποβάθμιση όπου επηρεάζεται η ασφάλεια.
– Οι διαδρομές άρνησης, διακλάδωσης και αντικατάστασης ΠΡΕΠΕΙ να αναλυθούν για κίνδυνο κατάχρησης και άρνησης παροχής υπηρεσιών.
– οι ετικέτες συμβατότητας ΠΡΕΠΕΙ να είναι αρκετά σαφείς ώστε να αποτρέπεται η τυχαία διαλειτουργικότητα μεταξύ ασυμβίβαστων συνόλων κανόνων.
– Η τοπική παραλλαγή ΔΕΝ ΠΡΕΠΕΙ να επιτρέπεται να ισχυρίζεται ψευδώς τη συμβατότητα με ένα σύνολο κανόνων που δεν ικανοποιεί.
Η ύπαρξη εξαιρέσεων ασφαλείας δεν δικαιολογεί ένα επίπεδο γενικής άδειας. Δικαιολογεί μόνο ντετερμινιστικούς κανόνες ασφαλείας που είναι απαραίτητοι για τη διατήρηση των δηλωθέντων Global Invariants.
13. Θεωρήσεις IANA
Αυτό το έγγραφο δεν έχει ενέργειες IANA.
14. Παραπομπές
14.1. Κανονιστικές Αναφορές
– RFC 2119 — Bradner, S., Λέξεις-κλειδιά για χρήση σε RFC για την ένδειξη των επιπέδων απαίτησης, BCP 14, RFC 2119.
– RFC 8174 — Leiba, B., Αμφισημία κεφαλαίων έναντι πεζών σε λέξεις-κλειδιά RFC 2119, BCP 14, RFC 8174.
14.2. Ενημερωτικές Αναφορές
– RFC 6709 — Carpenter, B. and B. Aboba, Θεωρήσεις σχεδιασμού για επεκτάσεις πρωτοκόλλου, RFC 6709.
– RFC 7282 – Resnick, P., Σχετικά με τη συναίνεση και το βουητό στο IETF, RFC 7282.
Παράρτημα Α. Κατάλογος ελέγχου σχεδίασης
Ένα σχέδιο που ισχυρίζεται ότι συμμορφώνεται με αυτό το έγγραφο ΠΡΕΠΕΙ να μπορεί να απαντά με σαφήνεια στις ακόλουθες ερωτήσεις:
1. Τι είναι τα καθολικά αμετάβλητα;
2. Ποιοι ντετερμινιστικοί κανόνες επικύρωσης διατηρούν αυτά τα καθολικά αμετάβλητα;
3. Ποιοι κανόνες στην αρχική προδιαγραφή είναι αυστηρά απαραίτητοι για την πρώτη ανάπτυξη;
4. Ποιες μελλοντικές ερωτήσεις αφήνονται σκόπιμα εκτός του κοινού στρώματος;
5. Ποιες μελλοντικές επιλογές μπορούν να κάνουν οι συμμετέχοντες χωρίς να αλλάξουν το σετ συμβατότητας στο οποίο βρίσκονται;
6. Πώς ένας συμμετέχων υιοθετεί μια μεταγενέστερη αλλαγή;
7. Πώς αρνείται ένας συμμετέχων μια μεταγενέστερη αλλαγή χωρίς να του εκχωρηθεί το καθεστώς μη έγκυρης;
8. Πώς επισημαίνονται ή ανακαλύπτονται τα σύνολα συμβατότητας;
9. Πώς λειτουργεί η τοπική απόρριψη όταν η κατάσταση είναι άκυρη ή ασυμβίβαστη σύμφωνα με τους κανόνες που εκτελεί ένας συμμετέχων;
10. Τι είναι το μονοπάτι της διχάλας;
11. Ποια είναι η διαδρομή φορητότητας;
12. Ποια είναι η διαδρομή εξόδου από οποιοδήποτε απαιτούμενο τεχνούργημα συντονισμού;
13. Μπορούν οι συμμετέχοντες να επαληθεύσουν την κανονική εγκυρότητα χωρίς να βασίζονται σε έναν κατεστημένο αρχειοφύλακα;
14. Τα αρχεία και τα τεχνουργήματα συντονισμού περιγράφουν την υιοθετημένη πραγματικότητα ή επιχειρούν να δηλώσουν ότι υπάρχει μη υιοθετημένη μελλοντική πραγματικότητα;
15. Έχει το σύστημα ελαχιστοποιήσει τον αριθμό των αποφάσεων που είναι ενσωματωμένες στο κοινό επίπεδο;
16. Το σύστημα έχει αποφύγει οποιαδήποτε συνεχή αρχή που καθορίζει το καθεστώς του συνηθισμένου συμμετέχοντα;
## Διεύθυνση συγγραφέα
H. Lu
[TBD]