(iii) Aus den Email-Adressstrings lassen sich Bitcoinsadressstrings erzeugen. Ist eine Email-Adresse zu lang muessen mehrere Bitcoinadressen
erzeugt werden. Eine Transaktion auf diese Adressen von einer Urspungsadresse markiert diese Ursprungsadresse als Besitzer der Email-
Adresse. Der private Schluessel zur Ursprungsadresse wird dann zum Signieren von Nachrichten benutzt.
Bekommt jemand eine Mail mit einer Signierung kann man die Signatur zur entsprechenden Bitcoinadresse umwandeln (sehr einfach via
bitcoinj), und in der Blockchain nachgucken, ob die erste Transaktion dieser Adresse auf Bitcoinadressen verweisst, welche der Email-Adresse
der Nachricht entsprechen.
Okay, also die Bitcoin-Adresse, die du aus der Email-Adresse erzeugst, wird nicht für den Empfang genutzt, sondern lediglich als "Marker" für die eigentliche Empfangs-Adresse.
Da sehe ich dann das folgende Problem:
1. ich habe eine Email-Adresse, nennen wir die mal
[email protected]1. ich erzeuge aus
[email protected] die Email-Bitcoin-Adresse, nennen wir die mal 1myEmailBTCAddress
2. ich mache mir eine andere Adresse, die in Zukunft meiner Email-Adresse zugeordnet sein soll, die nennen wir mal 1myRealBTCAddress
3. ich schicke 0.00001 BTC von 1myRealBTCAddress nach 1myEmailBTCAddress
4. jetzt habe ich also eine öffentliche Zuordnung von
[email protected] zu 1myRealBTCAddress
5. wenn ich eine andere Bitcoin-Adresse registrieren möchte, muss ich vorher noch mal 0.00001 BTC von 1myRealBTCAddress nach 1myEmailBTCAddress schicken
6. wenn ich aber den Private key zu 1myRealBTCAddress verliere, kann ich die Zuordnung von
[email protected] zu 1myRealBTCAddress nie wieder löschen
6.a. ich kann auch keine neue Adresse zu
[email protected] registrieren.
6.b. für mich sind also praktisch sowohl die Email-Adresse
[email protected] als auch die Bitcoin-Adressen 1myEmailBTCAddress und 1myRealBTCAddress "verbrannt"
6.c. ich kann aber auch nicht öffentlich darauf hinweisen, dass man da keine Zahlungen mehr hinschicken soll
6.d. jemand, der mich kennt, wird möglicherweise Geld an 1myRealBTCAddress senden, ohne dass ich darauf zugreifen könnte
Scheint mir ehrlich gesagt mittel- und langfristig mehr Probleme zu erzeugen als es löst.
Ich würde niemandem dazu raten, das Tool zu verwenden.
(iv) Eleganter scheint mir, waere es Namecoin zu verwenden. Jedoch
(a) macht Namecoin das Tool fuer Max Mustermann noch komplizierter;
(b) lass ich erst kuerzlich, dass Namecoin-Mining von einem Pool dominiert wird (muss den Link noch rauskramen);
(c) Namecoin fuer Entwickler nicht so handlich ist wie Bitcoin (exisiert ein namecoinj???).
(a) dein Tool soll dem User doch die Arbeit abnehmen, da sollte die Komplexität im Hintergrund keine Rolle spielen
(b) keine Ahnung, wie die Verteilung der Rechenleistung bei NMC im Moment ist. Aber: eine 51%-Attacke ermöglicht Double-Spending, aber keineswegs das "stehlen" von Domain-Namen oder anderen Einträgen in der Namecoin-Datenbank. Für deine Anwendung ist das also ein Nicht-Problem.
(c) für die Funktionen Signieren und Adressen erzeugen sollten die Werkzeuge von bitcoinj oder bitcoinjs o.ä. ebenfalls verwendbar sein, ggf. mit kleinen Anpassungen. Das müsste man sich aber im Detail ansehen.
(v) Es ist in der Tat ein Problem, dass
(a) man Email-Adressen registrieren koennte ohne sie zu benoetigen;
(b) der Besitz von Email-Adressen nicht verfaellt;
(c) verlorengegangene Privatekeys zu Email-Adressen diese nicht mehr nutzbar machen, siehe (b).
Wiederum, mit Namecoin waere das eleganter zu loesen! Wenn ich mich richtig erinnere verfallen bei Namecoin registrierte Eintraege insofern sie
nicht reregistriert werden.
Ja, Namecoin ist da die Lösung, mit Bitcoin ergibt das IMHO keinen Sinn.