Σελ. 470 από 556 ΠρώτηΠρώτη ... 450460465468469470471472475480490 ... ΤελευταίαΤελευταία
Εμφάνιση 7.036-7.050 από 8330
  1. #7036
    Εγγραφή
    10-08-2018
    Μηνύματα
    402
    Downloads
    0
    Uploads
    0
    ISP
    WEB
    Παράθεση Αρχικό μήνυμα από Red Yonko Εμφάνιση μηνυμάτων
    Στο ethereum όλοι, μαζί με τους υποστηρικτές και τους developers, άλλαξαν πορεία λόγω ενός «χακ». Στο bitcoin δεν έχει συμβεί αυτό. Δεν υποστηρίχτηκε να ακολουθηθεί άλλο chain λόγω μιας συναλλαγής. Αφού είναι ξεκάθαρος ο ορισμός. Censorship resistant. Εκτός κι αν μιλάμε για άλλα πράγματα.
    Ξεκάθαρα ήταν φάουλ όλων των εμπλεκόμενων που αποφάσισαν το hard fork. Ιδίως αφού το πρόβλημα ήταν σε "εφαρμογή" που έτρεχε πάνω στο Ethereum και όχι στο ίδιο το Ethereum. Ασχέτως ποιοι έφτιαξαν την εφαρμογή.
    Αλλά δεν μπορούμε να γνωρίζουμε τι θα είχε συμβεί αν δεν είχε παρθεί αυτή η απόφαση. Μπορεί να είχε εξαφανιστεί το Ethereum έχοντας αυτό το ιστορικό πίσω του.
    Θεωρώ ότι προσπάθησαν να διορθώσουν το πρόβλημα με το ελάχιστο δυνατό κόστος για την τότε εποχή, ένα χρόνο μετά την εμφάνιση του Ethereum. Αν κάτι παρόμοιο γινόταν τώρα, νομίζω θα ήταν εντελώς διαφορετική η αντιμετώπιση.

    Πάντως υπάρχει και το Ethereum Classic γι'αυτούς που θέλουν να μείνουν πιστοί στο Code is Law.
    Κι' αυτό Ethereum είναι, χωρίς πειραγμένο blockchain.
    Τελευταία επεξεργασία από το μέλος spiderman : 12-03-21 στις 02:21.

  2. #7037
    Εγγραφή
    07-08-2013
    Περιοχή
    outer space
    Ηλικία
    50
    Μηνύματα
    2.090
    Downloads
    0
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    20480/1024
    ISP
    ΟΤΕ Conn-x
    Router
    draytek
    Παράθεση Αρχικό μήνυμα από sonic Εμφάνιση μηνυμάτων
    Μπορεί να κάνει πολλά, γι'αυτό δεν βγάζεις άκρη μάλλον. Είπαμε είναι το Λινουξ των κρυπτο.

    Όσο για το χακ... νταξ, μια λέξη μόνο...mtgox. Άρα το μπιτκοιν είναι κακό;
    πως συγκρίνεται με το linux? Το linux έχει βασική αρχή το K.I.S.S
    στο ethereum έχουμε ένα χαοτικό σύστημα που όπως έγραψα και μου λες να πάω στο 17 για ποιο λόγο δεν ξέρω, δεν μπορείς ούτε να τρέξεις ένα full node μόνος σου.
    To blog της Ελληνικής κοινότητας του bitcoin
    1HeyFM6xMpq8s7BahqEuNPcTedDjhNUsoc
    4411 804B 0181 F444 ADBD 01D4 0664 00E4 37E7 228E

  3. #7038
    Το avatar του μέλους bomberb17
    bomberb17 Guest
    Παράθεση Αρχικό μήνυμα από Red Yonko Εμφάνιση μηνυμάτων
    Απέδειξε πως με τα συγκεκριμένα δεδομένα βρήκε hash κάτω από το minimum target. (Με difficulty = 1 δηλαδή)

    Αυτό ήταν το proof. Ακόμα κι ανταμείφθηκε διαφορετικά σε σχέση με τα άλλα μπλοκς.
    Hash ποιανού;

  4. #7039
    Το avatar του μέλους Red Yonko
    Red Yonko Guest
    Παράθεση Αρχικό μήνυμα από spiderman Εμφάνιση μηνυμάτων
    Κι' αυτό Ethereum είναι, χωρίς πειραγμένο blockchain.
    Εγώ πιστεύω πως είναι λίγο πειραγμένο.

    Παράθεση Αρχικό μήνυμα από bomberb17 Εμφάνιση μηνυμάτων
    Hash ποιανού;
    Αυτών εδώ:
    Κώδικας:
    GetHash()      = 0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
    hashMerkleRoot = 0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
    txNew.vin[0].scriptSig     = 486604799 4 0x736B6E616220726F662074756F6C69616220646E6F63657320666F206B6E697262206E6F20726F6C6C65636E61684320393030322F6E614A2F33302073656D695420656854
    txNew.vout[0].nValue       = 5000000000
    txNew.vout[0].scriptPubKey = 0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE50455F3C438EF4C3FBCF649B6DE611FEAE06279A60939E028A8D65C10B73071A6F16719274855FEB0FD8A6704 OP_CHECKSIG
    block.nVersion = 1
    block.nTime    = 1231006505
    block.nBits    = 0x1d00ffff
    block.nNonce   = 2083236893
    
    CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1)
      CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0)
        CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73)
        CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
      vMerkleTree: 4a5e1e
    Ακριβώς το ίδιο μαζί με previous block hash βρίσκουν και τα επόμενα, αλλά δεν καταλαβαίνω γιατί δεν το θεωρείς proof of work.

  5. #7040
    Το avatar του μέλους bomberb17
    bomberb17 Guest
    Παράθεση Αρχικό μήνυμα από Red Yonko Εμφάνιση μηνυμάτων
    Αυτών εδώ:
    Κώδικας:
    GetHash()      = 0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
    hashMerkleRoot = 0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
    txNew.vin[0].scriptSig     = 486604799 4 0x736B6E616220726F662074756F6C69616220646E6F63657320666F206B6E697262206E6F20726F6C6C65636E61684320393030322F6E614A2F33302073656D695420656854
    txNew.vout[0].nValue       = 5000000000
    txNew.vout[0].scriptPubKey = 0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE50455F3C438EF4C3FBCF649B6DE611FEAE06279A60939E028A8D65C10B73071A6F16719274855FEB0FD8A6704 OP_CHECKSIG
    block.nVersion = 1
    block.nTime    = 1231006505
    block.nBits    = 0x1d00ffff
    block.nNonce   = 2083236893
    
    CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1)
      CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0)
        CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73)
        CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
      vMerkleTree: 4a5e1e
    Ακριβώς το ίδιο μαζί με previous block hash βρίσκουν και τα επόμενα, αλλά δεν καταλαβαίνω γιατί δεν το θεωρείς proof of work.
    Αυτό που έγραψες στο codeblock είναι ουσιαστικά όλο το genesis block. Όλο αυτό το πακέτο θα είναι το input του GetHash() στο block 1.
    Εγώ αυτό που σε ρώτησα είναι ποιο είναι το input του GetHash() στο block 0.

  6. #7041
    Εγγραφή
    29-12-2005
    Ηλικία
    45
    Μηνύματα
    4.542
    Downloads
    18
    Uploads
    0
    ISP
    Inalan
    Παράθεση Αρχικό μήνυμα από bomberb17 Εμφάνιση μηνυμάτων
    Αυτό που έγραψες στο codeblock είναι ουσιαστικά όλο το genesis block. Όλο αυτό το πακέτο θα είναι το input του GetHash() στο block 1.
    Εγώ αυτό που σε ρώτησα είναι ποιο είναι το input του GetHash() στο block 0.
    Ενα κλειδί μια φράση ή ένα αρχείο που χρησιμοποίησε ο σατοσι για να παρει αυτο το hash; ισως στην πρώτη πρώτη έκδοση να ήταν hardcoded
    "Από την άλλη ακούω: ου δύνασθε Θεώ δουλεύειν και μαμωνά. […]. Οταν ένας πολιτισμός αφήνει το Θεό και βάζει το μαμωνά (παντού το βλέπομε) για ανώτατο αγαθό, summum bonum, καταλαβαίνετε τι πολιτισμός πρέπει να είναι αυτός. Διαλέξαμε, φαίνεται, τον πολιτισμό που μας άξιζε. […]"

    Ζ.Λορεντζάτος,
    COLLECTANEA

  7. #7042
    Το avatar του μέλους Red Yonko
    Red Yonko Guest
    Παράθεση Αρχικό μήνυμα από bomberb17 Εμφάνιση μηνυμάτων
    Εγώ αυτό που σε ρώτησα είναι ποιο είναι το input του GetHash() στο block 0
    Παράθεση Αρχικό μήνυμα από bomberb17 Εμφάνιση μηνυμάτων
    Hash ποιανού;
    Εδώ με ρωτάς hash ποιανού. Αν εννοείς GetHash() του genesis τότε δεν έχει. Το είπα κι όλας, τα επόμενα έχουν previous block hash, όχι όμως αυτό. Δεν καταλαβαίνω όμως γιατί δεν είναι proof ότι χρησιμοποιήσε επεξεργαστική ισχύ για να το δημιουργήσει. Ορίστε και ένα definition του proof of work:

    Proof of work (PoW) is a form of cryptographic zero-knowledge proof in which one party (the prover) proves to others (the verifiers) that a certain amount of computational effort has been expended for some purpose.

  8. #7043
    Το avatar του μέλους bomberb17
    bomberb17 Guest
    Παράθεση Αρχικό μήνυμα από Red Yonko Εμφάνιση μηνυμάτων
    Εδώ με ρωτάς hash ποιανού. Αν εννοείς GetHash() του genesis δεν έχει. Το είπα κι όλας, τα επόμενα έχουν previous block hash, όχι όμως αυτό. Δεν καταλαβαίνω όμως γιατί δεν είναι proof ότι χρησιμοποιήσε επεξεργαστική ισχύ για να το δημιουργήσει. Ορίστε και ένα definition του proof of work:
    Σου εξηγώ τι ακριβώς είναι το proof of work: Για κάποιο συγκεκριμένο input X, κάνεις brute force ένα nonce N ώστε το H(X+N) < T
    όπου:
    Τ το target difficulty (δηλ πόσο "μικρό" value πρέπει να έχει το hash, δηλ. πόσα μηδενικά στο prefix),
    Η() το hash function, στην περίπτωση του bitcoin είναι το SHA256 με το GetHash(),
    "+" είναι ο concatenation operator.

    Στα PoW blockchains, το X είναι συνήθως όλο το προηγούμενο μπλοκ μαζί με κάποια νέα transactions από το mempool.

    Αυτό που σου εξηγώ τόση ώρα είναι ότι στο genesis δεν υπάρχει κάποιο Χ για να κάνει proof of work πάνω του, άρα ο σατόσι δεν έκανε prove τίποτε. Απλά (υποθέτω) πήρε κάποιο τυχαίο Χ ή το default input του GetHash() και βρήκε ένα nonce N ώστε να ισχύει η παραπάνω ανίσωση, καθαρά για λόγους συνέχειας. Θα μπορούσε κάλλιστα να μην κάνει καν proof of work και να πετάξει έτσι ένα οποιοδήποτε 256-bit random string που να είναι μικρότερο του Τ.

    Παράθεση Αρχικό μήνυμα από 8anos Εμφάνιση μηνυμάτων
    Ενα κλειδί μια φράση ή ένα αρχείο που χρησιμοποίησε ο σατοσι για να παρει αυτο το hash; ισως στην πρώτη πρώτη έκδοση να ήταν hardcoded
    Ίσως ναι, αλλά δες και τι έγραψα παραπάνω με το random string.

  9. #7044
    Εγγραφή
    10-08-2018
    Μηνύματα
    402
    Downloads
    0
    Uploads
    0
    ISP
    WEB
    Παράθεση Αρχικό μήνυμα από Red Yonko Εμφάνιση μηνυμάτων
    Εγώ πιστεύω πως είναι λίγο πειραγμένο.
    Πως προκύπτει το παραπάνω από το link;
    Θα τους είχαν πάρει με τις πέτρες αν και το original Ethereum blockchain είχε πειραχτεί.

  10. #7045
    Το avatar του μέλους Red Yonko
    Red Yonko Guest
    Παράθεση Αρχικό μήνυμα από bomberb17 Εμφάνιση μηνυμάτων
    Αυτό που σου εξηγώ τόση ώρα είναι ότι στο genesis δεν υπάρχει κάποιο Χ για να κάνει proof of work πάνω του, άρα ο σατόσι δεν έκανε prove τίποτε.
    Εγώ αυτό που προσπαθώ να σου εξηγήσω και που δεν καταλαβαίνω γιατί δεν συμφωνείς είναι πως έχει input. Δεν έχει nonce τυχαία. Φυσικά και θα μπορούσε να διαλέξει το οποιοδήποτε hash για να ξεκινήσει την αλυσίδα έτσι. Διάλεξε όμως να βρει ένα κάτω απ'το minimum target. Είτε ήταν στη δικιά του κρίση το τι θα κάνει είτε όχι, δούλεψε για να βρει τέτοιο hash.

    Παράθεση Αρχικό μήνυμα από bomberb17 Εμφάνιση μηνυμάτων
    Θα μπορούσε κάλλιστα να μην κάνει καν proof of work και να πετάξει έτσι ένα οποιοδήποτε 256-bit random string που να είναι μικρότερο του Τ.
    Άρα έκανε τελικά proof of work;

    - - - Updated - - -

    Παράθεση Αρχικό μήνυμα από spiderman Εμφάνιση μηνυμάτων
    Πως προκύπτει το παραπάνω από το link;
    Θα τους είχαν πάρει με τις πέτρες αν και το original Ethereum blockchain είχε πειραχτεί.
    Δηλαδή δεν γνωρίζεις οτι έχει γίνει τέτοιο attack στο ethereum classic ή δεν το πιστεύεις; Πως προκύπτει; Υπήρξαν nodes που έκαναν replace x blocks και το καταλάβανε. Στο bitcoin βλέπεις δεν κοιτάνε ποια αλυσίδα τους «αρέσει» περισσότερο. Αυτή με την μεγαλύτερη δουλειά είναι η σωστή.

  11. #7046
    Το avatar του μέλους bomberb17
    bomberb17 Guest
    Παράθεση Αρχικό μήνυμα από Red Yonko Εμφάνιση μηνυμάτων
    Εγώ αυτό που προσπαθώ να σου εξηγήσω και που δεν καταλαβαίνω γιατί δεν συμφωνείς είναι πως έχει input. Δεν έχει nonce τυχαία. Φυσικά και θα μπορούσε να διαλέξει το οποιοδήποτε hash για να ξεκινήσει την αλυσίδα έτσι. Διάλεξε όμως να βρει ένα κάτω απ'το minimum target. Είτε ήταν στη δικιά του κρίση το τι θα κάνει είτε όχι, δούλεψε για να βρει τέτοιο hash.

    Άρα έκανε τελικά proof of work;
    Στο εξηγώ με ακόμα πιο απλά λόγια:
    Άμα ήθελε, θα μπορούσε αντί για
    Κώδικας:
    GetHash()      = 0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
    να βάλει
    Κώδικας:
    GetHash()      = 0x0000000000000000000000000000000000000000000000000000000000000000
    .

  12. #7047
    Το avatar του μέλους Red Yonko
    Red Yonko Guest
    Μα αν κάνεις hash το input του genesis block δεν θα σου επιστρέψει:

    Κώδικας:
    0x0000000000000000000000000000000000000000000000000000000000000000

  13. #7048
    Το avatar του μέλους bomberb17
    bomberb17 Guest
    Παράθεση Αρχικό μήνυμα από Red Yonko Εμφάνιση μηνυμάτων
    Μα αν κάνεις hash το input του genesis block δεν θα σου επιστρέψει:

    Κώδικας:
    0x0000000000000000000000000000000000000000000000000000000000000000
    Ε ποιο είναι το input του genesis block λοιπόν; Δεν είναι επακριβώς ορισμένο! Βάζει ο καθένας ότι θέλει!

  14. #7049
    Το avatar του μέλους Red Yonko
    Red Yonko Guest
    Παράθεση Αρχικό μήνυμα από bomberb17 Εμφάνιση μηνυμάτων
    Ε ποιο είναι το input του genesis block λοιπόν;
    Αυτό εδώ είναι:

    Κώδικας:
    char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks";
            CTransaction txNew;
            txNew.vin.resize(1);
            txNew.vout.resize(1);
            txNew.vin[0].scriptSig     = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((unsigned char*)pszTimestamp, (unsigned char*)pszTimestamp + strlen(pszTimestamp));
            txNew.vout[0].nValue       = 50 * COIN;
            txNew.vout[0].scriptPubKey = CScript() << CBigNum("0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE50455F3C438EF4C3FBCF649B6DE611FEAE06279A60939E028A8D65C10B73071A6F16719274855FEB0FD8A6704") << OP_CHECKSIG;
            CBlock block;
            block.vtx.push_back(txNew);
            block.hashPrevBlock = 0;
            block.hashMerkleRoot = block.BuildMerkleTree();
            block.nVersion = 1;
            block.nTime    = 1231006505;
            block.nBits    = 0x1d00ffff;
            block.nNonce   = 2083236893;
    Γιατί βάζει ο καθένας ότι θέλει; Μόνο αυτό γυρνάει:
    Κώδικας:
    0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
    Μάλλον προσπαθείς να μου πεις κάτι που δεν καταλαβαίνω.

  15. #7050
    Το avatar του μέλους bomberb17
    bomberb17 Guest
    Παράθεση Αρχικό μήνυμα από Red Yonko Εμφάνιση μηνυμάτων
    Κώδικας:
    char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks";
            CTransaction txNew;
            txNew.vin.resize(1);
            txNew.vout.resize(1);
            txNew.vin[0].scriptSig     = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((unsigned char*)pszTimestamp, (unsigned char*)pszTimestamp + strlen(pszTimestamp));
            txNew.vout[0].nValue       = 50 * COIN;
            txNew.vout[0].scriptPubKey = CScript() << CBigNum("0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE50455F3C438EF4C3FBCF649B6DE611FEAE06279A60939E028A8D65C10B73071A6F16719274855FEB0FD8A6704") << OP_CHECKSIG;
            CBlock block;
            block.vtx.push_back(txNew);
            block.hashPrevBlock = 0;
            block.hashMerkleRoot = block.BuildMerkleTree();
            block.nVersion = 1;
            block.nTime    = 1231006505;
            block.nBits    = 0x1d00ffff;
            block.nNonce   = 2083236893;
    Αυτό που μου έστειλες είναι το input του block 1.

    Αυτό που προσπαθώ να σου εξηγήσω είναι ότι το block 0 δεν έχει Input, είναι οι αρχικές συνθήκες του συστήματος.
    Πάρε για παράδειγμα τη σειρά Fibonacci. Οι αρχικές συνθήκες (που είναι το 0 και το 1) δεν έχουν input κάτι άλλο.

Σελ. 470 από 556 ΠρώτηΠρώτη ... 450460465468469470471472475480490 ... ΤελευταίαΤελευταία

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας