ZeroLink Test Aftermath - Το καλύτερο σύνολο ανωνυμίας που επιτεύχθηκε με επιτυχία: 26, Γενική Αξιολόγηση: Απροσδόκητη, Λόγος: Εξέλιξη ζητημάτων με δικτύωση

Πρώτα απ 'όλα: Μεγάλο ευχαριστώ για όλους όσους συμμετείχαν! Πρέπει να παραδεχτώ ότι δεν μπορούσα να κρατήσω τα δάκρυα μου πίσω βλέποντας την τεράστια υποστήριξη και δραστηριότητα που η κοινότητα αυτή πραγματοποίησε. Πάνω από 100 άτομα συμμετείχαν στις δοκιμές και πολλοί έδωσαν ανεκτίμητη ανατροφοδότηση. Γι 'αυτόν τον λόγο νιώθω τρομερό και πρέπει να ζητήσω συγγνώμη για το ανεπιτυχές αποτέλεσμα των δοκιμών.
Πρέπει να ειπωθεί ότι οι CoinJoins συνέβαιναν, συμβαίνουν ακόμη και όταν γράφω αυτές τις γραμμές, αλλά όχι σε κλίμακα που ελπίζω, γενικά διάφορα ζητήματα δικτύωσης εμπόδισαν το λογισμικό να συντονίζει σωστά εκατοντάδες συνομηλίκους ταυτόχρονα.

Ισχυρίζοντας την αμοιβή συμμετοχής 10 $

Στείλτε μου ένα email στο adam.ficsor73@gmail.com. Αυτό το μήνυμα ηλεκτρονικού ταχυδρομείου πρέπει να περιέχει τη διεύθυνση Bitcoin και ένα hex συναλλαγής.
Αποκτήστε αυτό το εξάγωνο από το HiddenWallet δημιουργώντας μια συναλλαγή με ένα μικτό νόμισμα και κάνοντας κλικ στο πλήκτρο "Copy Hex Transaction". Ωστόσο, μην το μεταδίδετε στο δίκτυο, αλλά να το ακυρώσετε. Εάν θα το μεταδώσετε, τότε οποιοσδήποτε θα μπορούσε να διεκδικήσει τα χρήματά μου από μένα.

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

Τι πήγε στραβά?

Εγώ, δοκιμάζοντας τον δικό μου κώδικα

Ένα μικρότερο ζήτημα ήταν ότι η εκτόξευση κάποιων εικονικών μηχανών για να αναμειγνύονται ή να τρέχουν μερικά σενάρια δεν είναι τα ίδια όπως αφήνοντας 100 χρήστες με εξωτικές διανομές Linux stress test ένα λογισμικό.

Αλλά το κύριο ζήτημα προέκυψε από τη φύση των δοκιμών ολοκλήρωσης: οι δοκιμές υποτίθεται ότι θα σας δώσουν γρήγορα αποτελέσματα. Εάν μια δοκιμή διαρκέσει ημέρες, πιθανότατα δεν είναι μια καλή δοκιμή. Έχω τέτοιες δοκιμές στο HiddenWallet, πιστέψτε με, δεν είναι διασκεδαστικό. Αλλά τι συμβαίνει όταν οι πραγματικοί χρήστες είναι εγγεγραμμένοι στο μείγμα για μέρες; Αποδεικνύει τίποτα καλό και δεν ήμουν προετοιμασμένος γι 'αυτό.
Πολλοί ήσυχα έχασαν τη συνδεσιμότητα με την πρίζα Ιστού, τους φτωχούς, μερικοί από αυτούς ίσως εξακολουθούν να πιστεύουν ότι αναμιγνύουν.
Πολλοί έλαβαν ένα μήνυμα σφάλματος: "ο συντονιστής βγήκε εκτός σύνδεσης", πράγμα που δεν σήμαινε ότι ο συντονιστής δεν μπόρεσε να συνδεθεί εκτός σύνδεσης, πράγματι σήμαινε ότι ο πελάτης δεν μπόρεσε να συνδεθεί εκτός σύνδεσης, είναι απλώς να χάσεις το διαδίκτυο για λίγο, γνωρίζοντας. Είναι εντελώς παραπλανητικό.
Υπήρχαν και άλλα θέματα, αλλά αυτά τα δύο συνέβαλαν στο 80% έως το 90% των προβλημάτων.

Θετικά

TX με το σετ ανωνυμίας 26

Η καλύτερη συναλλαγή που δημιουργήθηκε και μεταδόθηκε στο δίκτυο πέτυχε το σύνολο 26 ανωνυμίας: https://testnet.smartbit.com.au/tx/3ec6c5b983ccb53bc680cdec73af0a4a046cab5b29f6d7fe7f78af79b8b3111d

TX με 7 σύνολα ανωνυμίας

Υπήρξε επίσης ένα μείγμα που συνέβη με το 7 σύνολο ανωνυμίας.

Δεν υπάρχουν ζητήματα απόδοσης

Ένα άλλο θετικό πράγμα: ανησυχούσα ότι ο συντονιστής κάνει πάρα πολλά πράγματα σε τοπικό επίπεδο και διαρκεί πολύ. Εντούτοις αποδείχτηκε ότι οι ανησυχίες μου δεν ήταν δικαιολογημένες. Υπήρξε μια εποχή που 38 χρήστες επανασυνδέθηκαν επιτυχώς στο μείγμα μέσα σε λίγα δευτερόλεπτα, πράγμα που είναι εντυπωσιακό, επειδή όταν ένα αίτημα εγγραφής εισόδου έρχεται στον συντονιστή, κάνει αρκετά: υπογράφει, επαληθεύει, ελέγχει τα utxos και κάνει μια δέσμη άλλα πράγματα ανά χρήστη. Συν το έχω εφαρμόσει με κλειδαριές, εμπόδισα ασύγχρονη εκτέλεση, έτσι μπορώ να έχω καθαρότερο και πιο σταθερό κώδικα σε βάρος της απόδοσης.
Στην πραγματικότητα, αυτός ήταν ο κύριος λόγος για τον οποίο ήθελα να κάνω μια δοκιμή testnet με 100 άτομα. Φοβόμουν ότι τα πράγματα θα διαρκέσουν πολύ και ότι ο συνδυασμός θα αποσταθεροποιηθεί, αλλά η ταχύτητα του αναμενόμενου στενώματος ήταν πειστική, χαίρομαι γι 'αυτό.

Κανένα κέρμα έχασε

Τα κέρματα Plus δεν χάθηκαν. Δεν είναι όπως θα ήταν δυνατόν σε οποιοδήποτε σημείο, αλλά μπορεί να αξίζει να το αναφέρουμε.

Οι άνθρωποι παίρνουν Bech32

Το Bech32 είναι ένας νέος τύπος διεύθυνσης Bitcoin για το native segregated script scriptPubKeys. Ενώ η υιοθέτησή του είναι αρκετά αδύναμη, εκπληκτικά κανείς δεν είχε κανένα πρόβλημα να το αναγκάσει να το αναγκάσει.

Εκδήλωση ανά συμβάν

1. Πείραμα: Υποβολή στο / r / DarkNetMarkets

Ξεκίνησα με ένα μικρό πείραμα. Δεν είναι υπερβολικό να πούμε ότι οι "mainstream Bitcoiners" αποσυνδέονται και δεν έχουν ιδέα τι συμβαίνει στον σκοτεινό ιστό, παρόλο που τα σχολιάζουν τακτικά. Σίγουρα δεν μπορεί καν να απαντήσει σε βασικές ερωτήσεις. Εξακολουθούν να χρησιμοποιούν κυρίως το Bitcoin ή βρίσκονται σε Monero και ZCash; Είναι σε Bitcoin Cash ή Litecoin; Είναι τα υψηλά τέλη Bitcoin καταστρέφουν το επιχειρηματικό τους μοντέλο; Ήμουν περίεργος για το πόσο ενημερωμένοι και χρήσιμοι είναι αυτοί και γενικά τι είναι το συναίσθημα, γι 'αυτό έστειλα στο post blog μου για να δοκιμάσω πρώτα το / r / DarkNetMarkets. Αυτή η υποβολή οδήγησε 3 άτομα να συμμετάσχουν στο μείγμα.

Δεν μπορώ να πω ότι έγινα πολύ πιο έξυπνος, αλλά υπήρχαν μερικά ενδιαφέροντα πράγματα που μπορώ να προσθέσω ως sidenote.f

Ι. Ονόματα χρηστών

Άγια σκατά, φοβάσαι κυριολεκτικά να απαντήσετε σε κάποιον με ένα όνομα όπως αυτό.

ΙΙ. Monero shilling

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

2. Tweetstorm

Ενημέρωσα το shinobymonkey από το block digest podcast για το μίγμα, το ανέφερε στο live stream, επίσης tweeted, τότε tweeted, λίγο μετά το tweeted, άρχισε να τείνει σαν φωτιά, κάποιος το έστειλε στο / r / Bitcoin, κάποια γραφεία ειδήσεων έγραψαν γι 'αυτό και σύντομα εντός τριών ημερών ο συνδυασμός έφθασε στο στόχο των 100 ανθρώπων. Αλλά ας μην πάμε τόσο πολύ μπροστά ακόμα.

3. Πρώιμα ζητήματα

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

4. Πραγματοποίησα τον πρώτο γύρο που θα αποτύχει

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

5. 99 Το σύνολο ανωνυμίας επιτεύχθηκε

Έτσι, κατέλυσα τον 100ο διαγωνισμό και ξεκίνησα τη δοκιμασία. Όπως αναμένεται, η δοκιμή λήγει στη φάση επιβεβαίωσης σύνδεσης.

6. 38 Ο χρήστης παρέμεινε και επανασυνδέθηκε αυτόματα

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

7. Αλλαγή στο σχέδιο Β

Εντάξει, η δοκιμή απέτυχε, ας προσπαθήσουμε να κάνουμε κάποιο coinjoin. Έτσι, μείωσε την ελάχιστη ανωνυμία του επόμενου γύρου στο 7 από το 21 και το χρονικό όριο εγγραφής εισόδου σε 3 λεπτά.

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

Από εδώ σε 7 σειρές ανωνυμίας άρχισαν να τρέχουν. Συνέχισε για λίγο, για να είμαι δίκαιος, αυτό το μέρος της δοκιμής ήταν αρκετά επιτυχές, όταν οι άνθρωποι τελικά δεν έπρεπε να περιμένουν ώρες για να ξεκινήσει ένα μείγμα, αλλά το 7 δεν είναι το ίδιο με το 100.

Προχωρώντας μπροστά

Δεν θα υπάρξει άλλη δοκιμή testnet. Προσδιορίσαμε τα βασικά προβλήματα και θα τα διορθώσουμε.

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

Ζητήματα Cross Platform

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

Θέματα συνδεσιμότητας

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

Ισορροπία Διαφθοράς / Θέματα Απόδοσης

Το HiddenWallet είναι ένα πλήρες block που κατεβάζει το πορτοφόλι SPV. Αυτό σημαίνει ότι πραγματοποιούμε λήψη πλήρων τεμαχίων από τη δημιουργία του πορτοφολιού. Για να γίνει αυτή η δουλειά, έπρεπε να γράψω σχεδόν τα πάντα από το μηδέν, ότι οι προγραμματιστές πορτοφολιών δεν πρέπει ποτέ. Αυτό οδηγεί σε περίπλοκο κώδικα και ορισμένα ζητήματα επιδόσεων. Τώρα πέρασε σχεδόν ένας χρόνος, από τότε που το έκανα και έμαθα πολλά. Θα μπορούσα να το κάνω πολύ καλύτερα σήμερα.
Γενικά υπάρχουν δύο κατευθύνσεις που μπορώ να βελτιώσω. Θα μπορούσα είτε να αντικαταστήσω τμήματα του πίσω άκρου με το Bitcoin Core, η απόδοση και η σταθερότητά τους είναι αδύνατο να ανταγωνιστούν. Σε αυτή την περίπτωση θα μπορούσα ακόμη και να αρχίσω να συνεισφέρω στον Core και να προσπαθήσω να προωθήσω την πλήρη υλοποίηση του SPV του Jonas Schnelli στο Core. Εάν αυτό θα μπήκε σε αυτό δεν θα είχα λόγο να πάω με τον τρέχοντα προσαρμοσμένο κώδικα στο HiddenWallet.
Η άλλη κατεύθυνση είναι να εφαρμόσει κάτι νέο. Υπάρχουν μερικές αρχιτεκτονικές πορτοφόλι που διατηρούν την ιδιωτικότητα, καθώς ξεκίνησα να δουλεύω στο HiddenWallet. Τουλάχιστον στο επίπεδο της ιδέας.
(1) Θα μπορούσα να κάνω κάποια έξυπνα πράγματα. Για παράδειγμα, με ένα ελάχιστο ποσό αλληλεπίδρασης χρήστη, ο χρήστης δεν θα έπρεπε να κατεβάσει τόσα πολλά μπλοκ, αλλά έξυπνα μπορούσαμε να καταλάβουμε σε ποια μπλοκ έχει συναλλαγές.
(2) Θα μπορούσα επίσης να εφαρμόσω ένα κεντρικό μοντέλο, όπου ο διακομιστής είναι επίσης ένα λογισμικό ανάλυσης blockchain και ο μόνος σκοπός του είναι να προσπαθήσει να φιλτράρει ποιες συναλλαγές δεν μπορούν να ενδιαφέρουν οι πελάτες 100%.
(3) Ή κοιτάξτε το Neutrino, το οποίο μπορεί να καταλήξει πολύ στην αρχική αρχιτεκτονική πορτοφολιού LN. Παρόλο που χρειάζεται server side code για να προωθηθεί στο Bitcoin Core, το οποίο είναι αρκετά μια δουλειά, και δεν είμαι ακόμα 100% πεπεισμένος για τις ιδιότητες της ιδιωτικής ζωής ακριβώς ακόμα.

Βελτίωση της προδιαγραφής ZeroLink

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

Τελικές λέξεις

Πάλι. ΜΙΑ ΜΕΓΑΛΗ ΕΥΧΑΡΙΣΤΩ για όλους όσους συμμετείχαν και λυπάμαι πολύ για την αποτυχημένη δοκιμασία. Μια ιδιαίτερη ευχαριστία για τον Matthew Haywood για την δουλειά του στο HiddenWallet. Παρακολουθήστε, θα συνεχίσω να εργάζομαι με ανοικτή πηγή και με την προστασία της ιδιωτικής ζωής της Bitcoin και θα ξεκινήσω το ZeroLink το 2018! Καλά Χριστούγεννα και ευτυχισμένο το νέο έτος!