Έκδοση πηγαίου κώδικα MultiChain

Τώρα είναι διαθέσιμο για προβολή, αναθεώρηση, μεταγλώττιση και διακλάδωση

Δύο χρόνια μετά την έναρξη της ανάπτυξης Πολυαλυσίδα, είμαστε στην ευχάριστη θέση να κυκλοφορήσουμε τον πηγαίο κώδικα του υπό τη Γενική Δημόσια Άδεια GNU (GPLv3). Ο κώδικας, μαζί με τις οδηγίες μεταγλώττισης για το Ubuntu, είναι τώρα διαθέσιμο στο Github. Είστε ελεύθεροι να το περιηγηθείτε και να το ελέγξετε, να το συντάξετε μόνοι σας ή να διαχωρίσετε το MultiChain σύμφωνα με την άδεια GPL.

Γιατί τώρα;

Ο κώδικας ήταν αρχικά προγραμματισμένος να κυκλοφορήσει με την πρώτη beta του MultiChain 1.0, αλλά αποφασίσαμε να τον προωθήσουμε, καθώς η πρόσβαση στον πηγαίο κώδικα έχει καταστεί ζωτικής σημασίας για πολλούς από τους χρήστες μας και συνεργάτες πλατφόρμας. Η αποδέσμευση του κώδικα επιτρέπει στους εταιρικούς χρήστες του MultiChain να πραγματοποιούν ανεξάρτητους ελέγχους ασφαλείας και εγγυάται την ελευθερία επιλογής στην απίθανη περίπτωση που σταματήσουμε να αναπτύσσουμε το προϊόν.

Γιατί λοιπόν περιμέναμε τόσο πολύ; Πρώτον, χρειαζόταν να επενδύσουμε χρόνο στην τακτοποίηση του κώδικα για τη δημόσια κατανάλωση και προτιμούσαμε μέχρι πρόσφατα να επικεντρώσουμε τις προσπάθειές μας στην προώθηση του προϊόντος προς τα εμπρός. Με το σύνολο δυνατοτήτων για την έκδοση 1.0 να πλησιάζει στην ολοκλήρωση, θα μπορούσαμε να αποφύγουμε την απόσπαση της προσοχής. Δεύτερον, δεν θέλαμε να είμαστε πολύ χρήσιμοι σε ορισμένους από τους ανταγωνιστές μας που φαινόταν μάλλον απελπισμένοι να δουν τον κωδικό του MultiChain, αν κρίνουμε από τις περίεργες τηλεφωνικές κλήσεις και τα αιτήματα email που έχουμε λάβει. Τώρα που το προϊόν είναι αρκετά ώριμο και γνωστό, αυτό είναι λιγότερο ανησυχητικό.

Επιχειρηματικά μοντέλα

Εάν το MultiChain είναι ανοιχτού κώδικα, πώς θα δημιουργήσουμε τα απαραίτητα έσοδα για την υποστήριξη της μακροπρόθεσμης ανάπτυξής του; Αρχικά, προσφέρουμε ήδη Συμφωνίες Επιπέδου Υπηρεσιών (SLA) σε πελάτες που χρειάζονται εγγυημένο χρόνο απάντησης και λύσης για τις ερωτήσεις και τα προβλήματά τους. Παρόλο που το MultiChain εξακολουθεί να είναι επίσημα στο alpha, γνωρίζουμε ήδη περιπτώσεις όπου χρησιμοποιείται στην παραγωγή στους χρηματοοικονομικούς και κυβερνητικούς τομείς.

Παράλληλα με την προσφορά SLA, έχουμε ξεκινήσει να προετοιμάζουμε τις βάσεις για μια premium έκδοση του MultiChain, η οποία θα περιλαμβάνει επιπλέον χαρακτηριστικά που σχετίζονται με την ασφάλεια, την επεκτασιμότητα, τα αναλυτικά στοιχεία και την απόδοση. Εάν εργάζεστε ήδη με τη δωρεάν έκδοση του MultiChain, υπάρχουν δύο σημαντικά πράγματα που πρέπει να γνωρίζετε για το premium προϊόν. Πρώτον, θα είναι δυνατή η σύνδεση δωρεάν και premium κόμβων σε ένα ενιαίο δίκτυο, έτσι ώστε κάθε συμμετέχων να μπορεί ανεξάρτητα να αποφασίσει ποια έκδοση θα χρησιμοποιήσει. Δεύτερον, οποιεσδήποτε εφαρμογές που έχουν δημιουργηθεί στο MultiChain σήμερα θα λειτουργούν χωρίς τροποποίηση στην έκδοση premium – όλα τα API και οι παράμετροι θα παραμείνουν συμβατά προς τα πίσω.

Οδικός χάρτης για την έκδοση 1.0 beta

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

  • Προσθέστε υποστήριξη για αυτόματα "σημεία ελέγχου" σε έναν κόμβο, για να κλειδώσετε μόνιμα τις αλλαγές στο μοντέλο διακυβέρνησης ενός blockchain (άδειες διαχείρισης και εξόρυξης).
  • Επιτρέψτε τον έλεγχο της εξόρυξης κενών μπλοκ. Αυτό είναι χρήσιμο για την ελαχιστοποίηση της χρήσης δίσκου σε blockchains με περιόδους χαμηλής δραστηριότητας.
  • Προσθέστε μια παράμετρο «εξόρυξης κύκλου εργασιών», η οποία ισορροπεί μεταξύ (α) όλων των επιτρεπόμενων μπλοκ εξόρυξης κόμβων τυχαία και (β) εξόρυξης κυκλικής εξόρυξης που αποτρέπει τα πιρούνια, αλλά μπορεί να ανακάμψει γρήγορα εάν ένας κόμβος εξόρυξης πέσει.
  • Ολοκληρώστε τον μηχανισμό ειδοποίησης εξωτερικών διαδικασιών για νέες συναλλαγές που σχετίζονται με μια διεύθυνση πορτοφολιού ή/και εγγεγραμμένη ροή/στοιχείο.
  • Αυξήστε το μέγιστο μέγεθος των μεταδεδομένων συναλλαγής (είτε ακατέργαστα είτε ως μέρος ενός στοιχείου ροής) από το τρέχον όριο των 8 MB σε τουλάχιστον 32 MB (και ελπίζουμε σε περισσότερα).
  • Ελέγξτε και μειώστε το μέγεθος των αρχείων καταγραφής και άλλων αρχείων των οποίων ο πρωταρχικός σκοπός είναι να βοηθήσουν με τον εντοπισμό σφαλμάτων.
  • Ολοκληρώστε τη θύρα του MultiChain σε Mac OS.

Τα τρία πρώτα από αυτά έχουν ήδη εφαρμοστεί (δείτε τον κλάδο ανάπτυξης στο Github). Ελπίζουμε να ολοκληρώσουμε τα υπόλοιπα, μαζί με μικρότερες τροποποιήσεις και αλλαγές, μέχρι το τέλος του πρώτου τριμήνου 1.

Η βήτα φάση

Ορίζουμε μια έκδοση "beta" ως "χωρίς γνωστές ελλείψεις", δηλαδή όταν δεν γνωρίζουμε ένα μεμονωμένο σφάλμα ή σημαντικό αδιευκρίνιστο ζήτημα στο προϊόν. Επομένως, ο σκοπός της φάσης beta, η οποία θα διαρκέσει πιθανώς περίπου 6 μήνες, είναι να επιτρέψει την ανακάλυψη τυχόν κρυφών προβλημάτων μέσω της βάσης χρηστών και της εσωτερικής σουίτας δοκιμών, τα οποία συνεχίζουν να αυξάνονται. Αναμφίβολα θα λάβουμε επίσης αιτήματα για λειτουργίες κατά τη διάρκεια αυτής της περιόδου, αλλά θα εφαρμόσουμε μόνο εκείνα που είναι πολύ χαμηλού κινδύνου όσον αφορά τη σταθερότητα του προϊόντος. Τα σημαντικά νέα χαρακτηριστικά θα πρέπει να περιμένουν μέχρι το MultiChain 1.1, 1.5 ή 2.0, ανάλογα με την περίπτωση.

Ωστόσο, μια πτυχή της ανάπτυξης θα συνεχιστεί κατά τη φάση beta - η βελτιστοποίηση απόδοσης. Η απόδοση συναλλαγών του MultiChain, η οποία μπορεί να φτάσει τα 800 tx/sec υπό ιδανικές συνθήκες, είναι ήδη υπεραρκετή για τις περισσότερες εφαρμογές blockchain. Ωστόσο, ορισμένες περιπτώσεις χρήσης απαιτούν περισσότερα και δεν υπάρχει λόγος για τον οποίο το MultiChain δεν μπορεί να φτάσει χιλιάδες tx/sec με τις κατάλληλες βελτιστοποιήσεις. Φυσικά, δεν θα κάνουμε σημαντικές αρχιτεκτονικές αλλαγές κατά τη φάση beta. Αντίθετα, θα επικεντρωθούμε σε τοπικές βελτιστοποιήσεις, όπως η προσωρινή αποθήκευση ενδιάμεσων αποτελεσμάτων.

Πέρα από το 1.0 και το Premium

Εκτός από την καλά καθορισμένη διαδρομή προς το MultiChain 1.0 και την premium έκδοσή του, ποιος είναι ο μακροπρόθεσμος οδικός χάρτης για την πλατφόρμα MultiChain; Πώς βλέπουμε την ανάπτυξη του προϊόντος τα επόμενα πέντε έως δέκα χρόνια;

Θα πρέπει να ξεκινήσω διευκρινίζοντας ότι, ως τεχνολογία, δεν βλέπουμε τα blockchain ειδικά για τις τράπεζες ή τον χρηματοοικονομικό τομέα. Ενώ πλατφόρμες όπως το MultiChain μπορούν πράγματι να χρησιμοποιηθούν για την εφαρμογή κοινών λογιστικών βιβλίων χρηματοοικονομικών περιουσιακών στοιχείων, οι εφαρμογές τους είναι πολύ ευρύτερες. Θεωρούμε τα blockchain ως βασικά νέος τύπος βάσης δεδομένων, το οποίο μπορεί να μοιραστεί απευθείας μεταξύ χωριστών εταιρειών ή οργανισμών, χωρίς να απαιτείται κεντρικός μεσάζων. Αυτή η ικανότητα να εκτείνονται τα όρια εμπιστοσύνης ξεχωρίζει τις αλυσίδες μπλοκ από τις σημερινές κοινές πλατφόρμες βάσεων δεδομένων, είτε είναι της ποικιλίας SQL, NoSQL ή NewSQL. Πράγματι, μακροπρόθεσμα, θα πρέπει πιθανώς να ονομάζουμε αυτές τις «ομότιμες βάσεις δεδομένων» αντί «μπλοκ αλυσίδες», επειδή ο σκοπός ενός προϊόντος είναι πιο σημαντικός από την περιγραφή της υποκείμενης τεχνολογίας του.

Η έκδοση 1.0 του MultiChain παρέχει τρεις αφαιρέσεις υψηλού επιπέδου για την ανάπτυξη εφαρμογών βάσης δεδομένων peer-to-peer: άδειες (για έλεγχο πρόσβασης και δραστηριότητας), περιουσιακά στοιχεία (διακριτικά ιδιοκτησίας που μεταφέρονται ή ανταλλάσσονται) και ροές (αποθήκευση και ανάκτηση δεδομένων γενικού σκοπού) . Τα επόμενα χρόνια, θα μελετήσουμε τις ισχυρότερες περιπτώσεις χρήσης αυτού του νέου τύπου βάσης δεδομένων, για να δούμε τι άλλο πρέπει να προστεθεί σε αυτήν τη λίστα.

Γνωρίζουμε ήδη ορισμένες προφανείς δυνατότητες, όπως εικονικές μηχανές και μηδενική γνώση συναλλαγές περιουσιακών στοιχείων. Αλλά οι πιο ενδιαφέρουσες αφαιρέσεις θα είναι πιθανώς αυτές που δεν μπορούμε να φανταστούμε ακόμη. Τι είναι το ισοδύναμο blockchain ξένα κλειδιά σε σχεσιακές βάσεις δεδομένων, ΜΕΙΩΣΗ ΧΑΡΤΗ σε μεγάλα καταστήματα δεδομένων, ή το HyperLogLog των βάσεων δεδομένων στη μνήμη; Καθώς συνεχίζουμε να αναπτύσσουμε το MultiChain σε συνομιλίες με τους χρήστες και τους συνεργάτες μας, σκοπεύουμε να το μάθουμε.

Παρακαλώ δημοσιεύστε τυχόν σχόλια στο LinkedIn.

Σφραγίδα ώρας:

Περισσότερα από Πολλαπλές αλυσίδες