Το Bitcoin δίκτυο βρίσκεται κάτω από ‘Malleability Attack’
Τις τελευταίες 48 ώρες το Bitcoin δίκτυο βρίσκεται κάτω από Malleability Attack, τελείως ακίνδυνο για τις Bitcoin συναλλαγές που μπορεί όμως να προκαλέσει σύγχυση σε όσους τις πραγματοποιούν αυτές τις ώρες καθώς σε αρκετές περιπτώσεις υπάρχει η πιθανότητα να δούνε εσφαλμένα την συναλλαγή τους να απορρίπτεται από το δίκτυο ενώ αυτή έχει επιβεβαιωθεί κανονικά.
Συγκεκριμένα όταν κάποιος στέλνει Bitcoin σε κάποιον παραλήπτη αυτοί που πραγματοποιούν την επίθεση αναμεταδίδουν στα node την ίδια συναλλαγή με ελαφρώς τροποποιημένο το id της που είναι και το μόνο που μπορούν να αλλάξουν.
Δηλαδή αν κάποιος στείλει μια συναλλαγή που έχει id 2000 αναμεταδίδετε ξανά στο δίκτυο από τα node αυτών που πραγματοποιούν το Malleability Attack με διαφορετική id ας πούμε για το παράδειγμα ώς 2003.
Το πρόβλημα αρχίζει για τους χρήστες όταν τα Bitcoin miner επιλέξουν σαν valid την συναλλαγή με το τροποποιημένο id καθώς αρκετά Bitcoin wallet εξακολουθούν να κάνουν tracking το αρχικό απεσταλμένο id δείχνοντας τις συναλλαγές διαρκώς ανεπιβεβαίωτες.
Το Malleability Attack φυσικά δεν έχει καμία άλλη δυνατότητα να τροποποιήσει τις συναλλαγές η να τις αλλοιώσει ενώ αρκετά Bitcoin wallet δεν επηρεάζονται καθόλου από το πρόβλημα με τους διαχειριστές των υπόλοιπων να δηλώνουν ότι θα τα αναβαθμίσουν άμεσα ώστε να αντιμετωπίσουν το πρόβλημα.
Η λίστα με τα Bitcoin wallet που επηρεάζονται από το Malleability Attack καθώς και αυτών που δεν επηρεάζονται είναι ακόλουθη και μπορείτε να την δείτε και στο reddit εδώ.
Η λίστα ανανεώνετε συνέχεια προστίθενται συνέχεια νέες πληροφορίες για το πως μπορούν να διαχειριστούν τα Bitcoin wallet το πρόβλημα.
Affected (shows strange behaviour):
blockchain.info wallet
coinomi wallet (android)
Mycelium (Android) [see below] Ledger wallet app for Crome [see below] – but working on itNot affected:
Electrum [see below] Coinbase [see below] coinb.in [see below]
Unknown:
bitcoin core
multibit
Bither (Android/iOS)
android bitcoin wallet
Hive (Android)
Copay (by bitpay)
breadwallet (iOS)
Περισσότερες λεπτομέρειες για το Malleability Attack μπορείτε να βρείτε και στο θέμα του reddit εδώ
If you are sending bitcoin from one wallet to another you will notice the transaction appears to have been sent (or received) twice. Only one of these transactions will be confirmed. For most wallets the duplicate (unconfirmed one) should eventually disappear. Each wallet will handle this differently and I am not aware of all the behaviors.
If you are sending bitcoin to a service or website and have an issue you will probably need to contact them. Here is a mega simplified example of what can happen with services:
- From my address 1abc send 0.5 bitcoin to address 1efg with transaction id 2000.
- The service you are sending to then records transaction id 2000 and starts watching it to see when it gets confirmed into a block.
- Meanwhile the attacker takes your transaction and broadcasts it again with transaction id 2001.
- Both are valid transactions and the first one to make it into a block (get a confirmation) will win making the other one invalid.
- If 2001 wins and the service is still watching 2000, even though they received the bitcoin they won’t see the confirmation.
Ενώ στο επίσημο wiki του Bitcoin μπορείτε να βρείτε και περισσότερες τεχνικές λεπτομέρειες για το τι είναι Malleability Attack.
Υπάρχει και νήμα συζήτησης για το θέμα στο Bitcointalk forum εδώ