FairCoin2’s Docs Οδηγός Λειτουργίας Πιστοποιημένων Κόμβων Επικύρωσης (Certified Validation Nodes – CVN)

Αυτό το έγγραφο περιγράφει τις απαιτήσεις για τη δημιουργία και τη λειτουργία ενός Πιστοποιημένου Κόμβου Επικύρωσης (στο εξής CVN) για το δίκτυο του FairCoin.

Για να συμμετέχετε στη διαδικτυακή (on-line) συζήτηση και υποστήριξη, παρακαλούμε ελάτε στη σχετικη ομάδα (group) του Telegram, που ονομάζεται FairCoin CVN Operators, από εδώ: https://telegram.me/joinchat/Bumu8gbZmAhnXoxCBr3WHg

1. Σχετικά με τους CVN

Ο στόχος ενός CVN είναι η διασφάλιση του δικτύου μέσω της επικύρωσης όλων των συναλλαγών που αποστέλλονται στο δίκτυο και η τοποθέτησή τους σε μια αλυσίδα από μπλοκ συναλλαγών. Τα μπλοκ αυτά δημιουργούνται κάθε 3 λεπτά (180 δευτ.). Οι συναλλαγές επιβεβαιώνονται αφού έχουν προστεθεί σε ένα μπλοκ. Ένας CVN είναι ένας τυπικός πυρήνας του προγράμματος-πελάτη FairCoin, ρυθμισμένος ώστε να χρησιμοποιεί μια έξυπνη κάρτα (smart card) για τη συνεχή υπογραφή συγκεκριμένων τμημάτων των δεδομένων του δικτύου FairCoin, χρησιμοποιώντας στοιχεία πιστοποίησης που εκδίδονται από τον FairCoop. Σε Κάθε τέτοιο κόμβο θα εκχωρηθεί ένα μοναδικό αναγνωριστικό που ονομάζεται CVN ID.

2. Τεχνικές πληροφορίες για τη λειτουργία ενός CVN

2.1 Απαιτήσεις συστήματος

Ένα ασφαλές και σταθερό λειτουργικό σύστημα είναι ζωτικής σημασίας για την αξιόπιστη λειτουργία ενός CVN. Ως εκ τούτου, πρέπει να πληρούνται από τον χειριστή CVN όλες τις απαιτήσεις που καταγράφονται στην παρακάτω λίστα.

Απαιτείται ένα λειτουργικό σύστημα Linux με την τρέχουσα ενημερωμένη διανομή ώστε να “τρέξει” το λογισμικό ενός CVN. Σας προτείνουμε να χρησιμοποιείτε τις διανομές Ubuntu ή Debian. Όλες οι νέες διαθέσιμες ενημερώσεις του συστήματος πρέπει να εγκαθιστώνται σε τακτική βάση.
Το σύστημα πρέπει να διαθέτει τουλάχιστον 1GB ελεύθερου χώρου στο σκληρό δίσκο· όσο περισσότερο τόσο το καλύτερο.
Το λογισμικού του πορτοφολιού FairCoin πρέπει να ενημερώνεται μόλις οι επίσημες αναβαθμίσεις του διατίθενται από την ομάδα ανάπτυξης.
Το σύστημα πρέπει να είναι συνδεδεμένο στο διαδίκτυο όλη την ώρα (24/7) και η TCP θύρα 40404 πρέπει να είναι προσβάσιμη από όλους τους απομακρυσμένους κόμβους του διαδικτύου. Αποφύγετε τη χρήση μιας ασύρματης σύνδεσης, αν είναι δυνατόν, καθώς αυτό θα οδηγήσει σε επιπλέον καθυστέρηση του δικτύου και στην πιθανότητα ασταθούς σύνδεσης.
Το σύστημα πρέπει να χρησιμοποιεί ένα δημόσιο διακομιστή NTP για να συγχρονίζει το ρολόι του, π.χ. pool.ntp.org, ώστε να διασφαλιστεί ότι η ώρα του συστήματος είναι πάντα σωστή. NTP σημαίνει Δικτυακό Πρωτόκολλο Χρόνου (Networking Time Protocol) και σκοπός του είναι να συγχρονίζει όλους τους συμμετέχοντες υπολογιστές μέσα σε λίγα χιλιοστά του δευτερολέπτου στη Συντονισμένη Παγκόσμια Ώρα (UTC).
Το υλικό πρέπει να παρέχει μια θύρα USB 2.0 όπου θα συνδέεται ο αναγνώστης των έξυπνων καρτών. Παρακαλούμε αποφύγετε τη χρήση ενός διαμοιραστή (USB hub) για τον αναγνώστη.
Αν και δεν είναι απολύτως απαραίτητο, προτείνεται η χρήση ενός UPS για την αδιάλειπτη παροχή ρεύματος και θα εκτιμηθεί. Σημειώνουμε ότι το σύνολο του εξοπλισμού που σχετίζεται με το δίκτυο θα πρέπει επίσης να συνδεθεί στο UPS ώστε να κρατήσει τη σύνδεση με το διαδίκτυο ενεργή σε περίπτωση διακοπής ρεύματος.

2.2 Προετοιμασία του συστήματός σας

Για να λειτουργήσει το λογισμικό του πορτοφολιού FairCoin θα πρέπει να έχετε εγκαταστήσει κάποια απαραίτητα πακέτα λογισμικού στο σύστημά σας. Κάντε το αυτό εκτελώντας τις ακόλουθες εντολές σε ένα τερματικό:

sudo apt-get update sudo apt-get install -y build-essential libtool autotools-dev autoconf pkg-config libssl-dev libboost-all-dev git libdb5.3-dev libdb5.3++-dev libqt4-core libqt4-gui libqt4-dev libqrencode-dev libprotobuf-dev protobuf-compiler libevent-dev pcscd

Σημειώνουμε ότι το σύστημά σας μπορεί να περιέχει μια διαφορετική έκδοση του πακέτου libdb. Αν δεν βρείτε την έκδοση 5.3, δοκιμάστε την έκδοση 5.1. Αφού η εγκατάσταση των πακέτων αυτών ολοκληρωθεί με επιτυχία, προχωρήστε ακολουθώντας τις οδηγίες που παρέχονται εδώ: https://github.com/faircoin/faircoin2/blob/faircoin2/doc/build-CVN.md

Βεβαιωθείτε ότι η συσκευή ανάγνωσης έξυπνων καρτών είναι συνδεδεμένη στο σύστημά σας και λειτουργεί σωστά. Μπορείτε να τη δοκιμάσετε εκτελώντας τις ακόλουθες εντολές:

export PATH=/opt/faircoin/OpenSC/target/bin/:$PATH
pkcs11-tool -T

Έτσι θα εμφανιστεί μια λίστα με όλους τους συνδεδεμένους αναγνώστες που περιέχουν κάρτες και θα πρέπει να δείτε κάτι σαν αυτό:

Available slots:
Slot 0 (0x0): ACS ACR 38U-CCID 02 00
token label : SmartCard-HSM (UserPIN)
token manufacturer : www.CardContact.de
token model : PKCS#15 emulated
token flags : rng, login required, PIN initialized, token initialized
hardware version : 24.13
firmware version : 1.2
serial num : DECM0104412

2.3 Η πρώτη εκκίνηση του κόμβου σας

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

mkdir ~/.faircoin2
cat > ~/.faircoin2/faircoin2.conf <<EOF
#FairCoin CVN configuration file
logtimestamps=1
logips=1
gen=1
cvn=card
cvnpin=123456
EOF

Τώρα, εκκινήστε το πορτοφόλι FairCoin με την εντολή:

/Opt/faircoin/faircoin2/src/qt/faircoin-qt -gen=0

Στη συνέχεια θα αρχίσει να “κατεβάζει” την αλυσίδα των μπλοκ (blockchain), το οποίο θα πάρει κάποιο χρόνο· ίσως είναι θέμα λεπτών ή ίσως και ωρών. Η γραμμή προόδου στην κάτω αριστερή γωνία της εφαρμογής εμφανίζει την κατάσταση της λήψης. Όταν ολοκληρωθεί, κλείστε την εφαρμογή του πορτοφολιού.

2.4 Κανονική εκκίνηση ενός CVN

Μπορείτε να εκκινήσετε τον κόμβο CVN σας με την παρακάτω εντολή στο τερματικό (ή πατώντας Alt + F2 στην επιφάνεια εργασίας σας):

/Opt/faircoin/faircoin2/src/qt/faircoin-qt
Τώρα ο κόμβος σας λειτουργεί κανονικά και είναι έτοιμος να ενεργοποιηθεί από τους διαχειριστές της αλυσίδας blockchain.

3. Τέλη και οικονομικό μοντέλο για τη βιώσιμη λειτουργία ενός CVN

Τα τέλη συναλλαγής του FairCoin έχουν σχεδιαστεί ώστε να είναι μακροπρόθεσμα ο βασικός παράγοντας στην κάλυψη του κόστους λειτουργίας ενός CVN και στην πρόληψη ανεπιθύμητων (spam) συναλλαγών. Επειδή δεν θα δημιουργείται κανένα νέο νόμισμα, τα τέλη αυτά θα είναι η μόνη ανταμοιβή για τους χειριστές των CVN.

Πιστεύουμε ότι αρχικά αυτό δεν θα είναι αρκετό για να καλύψει ούτε το κόστος της ηλεκτρικής ενέργειας, οπότε η λειτουργία ενός CVN μπορεί να γίνει κατανοητή ως μια πράξη αλληλεγγύης. Καθώς όμως η οικονομική δραστηριότητα του FairCoin μεγαλώνει, η συναλλαγές εντός του blockchain θα αυξηθούν πάρα πολύ, όπως αντίστοιχα και τα έσοδα από τα τέλη, οπότε -σε κάποιο σημείο- αυτά θα είναι αρκετά για να καλύψουν τα έξοδα λειτουργίας ενός CVN.

Όταν τα συνολικά κέρδη ξεπερνούν το κόστος της επένδυσης, η παγκόσμια ανοικτή συνέλευση του FairCoop θα μπορεί να αποφασίσει να μειώσει τα τέλη αυτά ή να συγκεντρώσει ένα μέρος των εσόδων για την περαιτέρω ανάπτυξη του FairCoin ή άλλης υποδομής. Όπως επίσης στο μέλλον, θα μπορούσαμε να συμφωνήσουμε σχετικά με τη χρήση άλλων μεθόδων αποφυγής ανεπιθύμητων συναλλαγών (spam) ή κάλυψης των εξόδων των CVN.

Τα τέλη των συναλλαγών είναι υποχρεωτικά και δυναμικά ρυθμιζόμενα. Η κατάλληλη χρέωση ανά Kb αποφασίστηκε στη συνέλευση του FairCoop, στις 16 Ιουνίου 2016 (/docs/minutes-of-the-10th-faircoop-open-assembly/ ), όπου συμφωνήσαμε να ξεκινήσουμε με ένα τέλος της τάξης του 0,1 FAIR ανά 1.000 bytes (περίπου 1Kb) . Παραμένει όμως μια ανοιχτή διαδικασία συζήτησης, όπου μπορεί να συμμετέχει κάθε χρήστης του FairCoin.

4. Οργανωτική διαδικασία για τη λειτουργία ενός CVN

4.1 Κοινωνικο-πολιτικά κριτήρια

Τα άτομα που είναι υπεύθυνα για την πιστοποίηση θα πρέπει να γνωρίζουν τους κόμβους και να ακολουθούν κατάλληλα κριτήρια εμπιστοσύνης (Know Your CVN – KYCVN). Αυτό σημαίνει ότι είτε διαδικτυακά, είτε με προσωπική επαφή, θα πρέπει να κάνουν τις κατάλληλες ερωτήσεις ώστε να γνωρίσουν τους ανθρώπους ή τις ομάδες που υποβάλλουν αίτηση για πιστοποίηση και τα πραγματικά τους κίνητρα.

Διαδικτυακές πληροφορίες, όπως ιστοσελίδες, προφίλ σε κοινωνικά δίκτυα όπως αυτά του FairCoop ή bitcointalk, twitter, facebook κ.λπ. θα μπορούσαν να βοηθήσουν για να επιβεβαιωθούν οι πληροφορίες αυτές. Εάν είναι δυνατόν, οι αιτούντες θα πρέπει επίσης να επισκεφτούν έναν Τοπικό Κόμβο του FairCoop που βρίσκεται κοντά τους. Αυτό βοηθά στην καλύτερη προσωπική γνωριμία ώστε να εξασφαλίζεται ότι έχουν τις σωστές προθέσεις. Κάποια θετικά κριτήρια για την αποδοχή ενός CVN θα μπορούσαν να είναι:

Συμμετοχή στο οικοσύστημα του FairCoop.
Επιβεβαίωση της εμπειρίας σε άλλες δραστηριότητες που συμμερίζονται τις αρχές του FairCoop γενικότερα.
Συμφωνία σε βασικές αξίες όπως δικαιοσύνη, συνεργασία, υπομονή, διαμοιρασμός και αφοσίωση.
Ενεργό και ορατή συμμετοχή σε άλλα εγχειρήματα που συνδέονται με το FairCoin ή τον FairCoop.
Διαθεσιμότητα εντός λίγων εβδομάδων, ή σε περίπτωση έκτακτης ανάγκης μέσα σε μια ημέρα.
Πρέπει να έχει διαβάσει την πιο πρόσφατη έκδοση της «λευκής βίβλου» του FairCoin 2 (δεν υπάρχει πρόβλημα αν ένας χειριστής CVN δεν καταλαβαίνει αρχικά όλες τις τεχνικές λεπτομέρειες του μηχανισμού του blockchain, αλλά τουλάχιστον να είναι πρόθυμος να μάθει και να μοιραστεί την εμπειρία του/της).

4.2 Διαδικασία

Η διαδικασία πιστοποίησης θα διεξαχθεί με αποκεντρωμένο τρόπο από τις διάφορες ομάδες του FairCoop.

Μια παγκόσμια διαδικασία θα καθοδηγείται από την ομάδα εργασίας των CVN του FairCoop η οποία θα παραλαμβάνει τις αιτήσεις, θα βοηθάει στη δημιουργία των CVN σε όλο τον κόσμο και θα παρουσιάσει τους κόμβους αυτούς στη γενική συνέλευση του FairCoop. Σε γενικές γραμμές Στη γενική αυτή παγκόσμια ανοικτή συνέλευση του FairCoop θα αποφασίζεται η έγκριση (ή μη) ενός CVN. Εναλλακτικά, ειδικές συνελεύσεις θα μπορούσαν να συγκληθούν για την έγκριση νέων CVN, από τη σχετική ομάδα εργασίας, αν υπάρχουν επείγουσες συνθήκες.

Θα υπάρξουν επίσης περιφερειακές διαδικασίες σε περιοχές όπου υπάρχουν τοπικοί κόμβοι του FairCoop. Οι τοπικοί αυτοί κόμβοι θα δέχονται τις αιτήσεις CVN της περιοχής τους και θα επιβεβαιώνουν ότι οι προθέσεις των αιτούντων ευθυγραμμίζονται με τις ανάγκες της διαδικασίας της Απόδειξη Συνεργασίας (PoC). Οι τοπικοί κόμβοι του FairCoop θα πρέπει να είναι σε θέση να λαμβάνουν συλλογικές αποφάσεις σχετικά με αυτό το θέμα στις ανοιχτές συνελεύσεις τους.

4.3 Εξάπλωση της πιστοποίησης CVN

Τουλάχιστον το 60% των πιστοποιήσεων θα πρέπει να διεκπεραιώνονται από τους τοπικούς κόμβους του FairCoop, και το πολύ ένα 40% από την παγκόσμια διαδικασία. Με τον τρόπο αυτό, ακόμη και μια επίθεση στις παγκόσμιες δομές του FairCoop δεν θα ήταν αρκετή ώστε να βλάψει το 50% του δικτύου (ποσοστό κρίσιμο για τη συνολική λειτουργία του). Από τη στιγμή που όλο και περισσότεροι τοπικοί κόμβοι του FairCoop γίνουν ενεργοί, η εξάρτηση από την παγκόσμια διαδικασία μπορεί να μειωθεί περαιτέρω. Για να έχουμε μια υγιή και κατανεμημένη διαδικασία, κάθε τοπικός κόμβος του FairCoop δε θα μπορεί να πιστοποιήσει πάνω από το 10% του συνολικού αριθμού των CVN, όπου ο μέγιστος αριθμός των CVN που θα μπορεί να συσταθεί θα καθοριστεί στις παγκόσμιες συνελεύσεις του FairCoop.

4.4 Διαφάνεια

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

4.5 Απομάκρυνση των CVN

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

Η αφαίρεση ενός CVN θα πραγματοποιείται από τους διαχειριστές της αλυσίδας blockchain.

4.6 Πως να συμμετάσχετε

Αν σας ενδιαφέρει η δημιουργία ενός CVN, στείλτε μας ένα e-mail στο cvn@fair-coin.org . Γύρω στα μέσα Σεπτεμβρίου 2016 πρόκειται να δημοσιεύσουμε μια φόρμα εγγραφής για να αρχίσει επίσημα η διαδικασία της αποδοχής των CVN. Έτσι θα σας ειδοποιήσουμε έγκαιρα ώστε να συμπληρώσετε το έντυπο της αίτησης που θα υπάρχει διαθέσιμο.

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

Περισσότερες πληροφορίες και η σχετική συζήτηση είναι διαθέσιμη από εδώ: /groups/faircoop-community/faircoin/faircoin2/

Tags: Guides, Tutorials