danton Posted December 9, 2013 Share Posted December 9, 2013 Der original Bitcoin-Client (Bitcoin-Qt) ist mir noch durch enormen Ressourcen-Verbrauch und ewiges Warten (auf den Download der Blockchain) nach dem ersten Start negativ in Erinnerung. Multibit hingegen ist innerhalb weniger Sekunden mit dem Netzwerk "synchronisert", belegt praktisch keinen Speicher und erfordert fast keine Rechenleistung. Ist zwar super, aber ich frage mich: Wie funktioniert das? Woher nimmt Multibit die benötigten Informationen? Ein Download der Blockchain findet ja ganz offensichtlich nicht statt. Und nimmt Multibit überhaupt an dem eigentlichen Bitcoin-P2P-Netzwerk teil (d.h. empfängt Transaktionen und leitet diese weiter)? Link to comment Share on other sites More sharing options...
joho Posted December 10, 2013 Share Posted December 10, 2013 Soweit ich weiß, benutzt Multibit das Bitcoin-Protokoll. Das wurde extra für Multibit (und andere "Thinclients") so erweitert, dass ein Client auch nach allen Transaktionen fragen kann, die eine Adresse betreffen. Dann werden nur die relevanten Blöcke, die die gewünschten Transaktionen enthalten, und auch nur die relevanten Transaktionen übertragen. Dank dem Merkle-Hash-Tree kann der Bitcoinclient immer noch böswillige Manipulationen erkennen, d.h., man kann sich sicher sein, dass die Transaktionen zu den Blöcken gehören. Da auch alle Blockheader übertragen werden kann man auch prüfen, dass man die längste Blockchain hat. Allerdings ist der Multibit-Client kein vollwertiger Teilnehmer. So kann er nicht die Blöcke an andere Clients weitergeben, denn er hat sie ja selber nicht. Er kann auch nicht alle Transaktionen auf Korrektheit überprüfen, sondern muss darauf vertrauen, dass die Miner keinen Unsinn machen. Es ist aber ein guter Kompromiss zwischen Sicherheit und Schnelligkeit. Natürlich könnten theoretisch andere Clients protokollieren, nach welchen Adressen gefragt wurde. Um das ein wenig zu verschleiern, benutzt Multibit einen Bloom-Filter für Adressen, der mehr Adressen erkennen kann, als der Client wirklich lesen will. So weiß der andere Client nicht nach welchen Adressen Multibit eigentlich fragen wollte. Das ist dann wieder ein Kompromiss zwischen Privatssphäre und Größe des Downloads. Zur letzten Frage: ob er eingehende Transaktionen weiterleitet, weiß ich nicht, aber er empfängt Transaktionen und er leitet seine eigenen Transaktionen ins Peer-To-Peer-Netzwerk. Link to comment Share on other sites More sharing options...
Firestorm Posted December 11, 2013 Share Posted December 11, 2013 @joho: Funktioniert so auch die Android-Bitcoin-Wallet von Andreas Schildbach? Link to comment Share on other sites More sharing options...
joho Posted December 11, 2013 Share Posted December 11, 2013 Ja, beide Programme benutzen die gleiche Bibliothek bitcoinj, die diese Funktion zur Verfügung stellt. Link to comment Share on other sites More sharing options...
rennschnecke Posted December 11, 2013 Share Posted December 11, 2013 Der original Bitcoin-Client (Bitcoin-Qt) ist mir noch durch enormen Ressourcen-Verbrauch und ewiges Warten (auf den Download der Blockchain) nach dem ersten Start negativ in Erinnerung. Stimmt, bei mir hat es fast 2 Tage gedauert, bis die ca. 10gb da waren. Aber: ich finde, das hat sich gelohnt - absolut stabil laufende Software! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now