BTC Adresse Public Key ab wann öffentlich?

Hi!

Zuerst einmal hallo aus Österreich. Bin seit einigen Tagen/Wochen am unregistriert mitlesen, regelmäßig bei u.a. Romans Youtube Videos und Streams dabei und habe so auch schon Google bemüht. Leider habe ich entweder einen Denkfehler, oder aber ein Verständnisproblem weshalb ich hier mal nachfrage.

Nachdem ich mein ganzes, bisheriges Portfolio unlängst (Gott sei Dank noch vor dem, was die letzten Stunden/Tage/Wochen abgeht mit BTC) in Richtung BTC only umgeschichtet habe, sollte ich nun bis Ende Jänner meine Jänner Batch BitBox02 bekommen.

Dank an Roman, der hier online sehr viel Aufklärungsarbeit leistet, denn ohne u.a. ihn wäre ich bei Ledger gelandet, die Bitbox02 scheint jedoch more convineant (speziell seit dem Webshop Kundendaten Leak) oder aber die Funds würden auf der Börse bleiben.

Jetzt kommt die eigentliche Frage, welche nach einem Julian Hosp Video in mir keimt, welche mir keine Ruhe lässt:

Wenn ich nun die Bitbox02 bekomme, in Betrieb nehme und lediglich Funds von der/den Börsen dorthin verschiebe (also lediglich an der Adresse empfange) ist lt. Herrn Hosp (man möge von ihm halten was man will) lediglich die Adresse bekannt. Sohin also euch nicht der Public Key.

Somit wäre die Sache ja sicherer (Quantencomputer betreffend), wenn ich auf der bitbox folgendes tun würde.

.) eine Segwit Adresse zum versenden (nach Umlagerung von der Empfangsadresse)
.) als reine Empfangsadresse (zum Lagern) native Segwit/bech32 Adresse mit Passphrase (25. Wort)

Somit käme der Public Key lt. Hosp nie ins Netz und sie Wallet wäre sozusagen „quantensicher“

„Problem“ 2x 24 Wörter plus 1x Passphrase merken, sichern anstatt 1x24 plus Passphrase

Ich hoffe ich habe mich einigermaßen Verständlich ausgedrückt, und das auch so halbwegs korrekt verstanden.

Vielen Dank!

hi!
Ich glaube Ledger hat das ganz gut gelöst mit dem public key. Soweit ich das gesehen habe generiert Ledger bei jedem empfangen eine neue Bitcoin Adresse und insofern kommt es erst einmal nicht dazu das dein public key veröffentlicht wird. Nur bei einem versenden wird dein public keys veröffentlicht. Soweit ich ich erinnere wird aber beim Versenden von Bitcoins immer die Adresse geleert und immer die komplette Adresse versendet und das Wechselgeld geht dann auf eine neue Bitcoin Adresse. Also hast Du nie wirklich den Fall, dass dein public key zu einer Adresse bekannt wird, auf der noch deine Bitcoins liegen und somit bist Du immer Quantencomputersicher, sofern ein Quantencomputer nicht Bitcoin als ganzes angreifen kann. Wenn ein Quantencomputer Bitcoin als ganzes angreifen könnte, würde es mit Sicherheit einen HardFork geben auf ein Quantencomputer sicheres Netzwerk was vielleicht von Quantencomputern betrieben wird. Macht Euch nicht so viel Sorgen um den Quantencomputer und seht einfach wie hoch das Vertrauen an Bitcoin unter Institutionellen Investoren wächst die mit Sicherheit das Risiko einschätzen können.
Lg

1 „Gefällt mir“

Auch bei der BitBox02 werden keine Public Keys übermittelt. Es werden ausschliesslich die verwendeten Bitcoin-Adressen mittels Electrum-Server abgefragt (der von Shift Crypto, oder auch Dein eigener) bis 20 Adressen ungenutzt sind (das „Gap limit“).

Als Randnotiz: über Quantencomputer-Sicherheit muss man sich nicht wirklich Sorgen machen. Es geht sogar soweit, dass mit dem nächsten Bitcoin Protokoll-Update (Taproot) alle Public Keys direkt auf der Blockchain sichtbar sein werden:

Why is the public key directly included in the output? While typical earlier constructions store a hash of a script or a public key in the output, this is rather wasteful when a public key is always involved. To guarantee batch verifiability, the public key must be known to every verifier, and thus only revealing its hash as an output would imply adding an additional 32 bytes to the witness. Furthermore, to maintain 128-bit collision security for outputs, a 256-bit hash would be required anyway, which is comparable in size (and thus in cost for senders) to revealing the public key directly. While the usage of public key hashes is often said to protect against ECDLP breaks or quantum computers, this protection is very weak at best: transactions are not protected while being confirmed, and a very large portion of the currency’s supply is not under such protection regardless. Actual resistance to such systems can be introduced by relying on different cryptographic assumptions, but this proposal focuses on improvements that do not change the security model.

Auszug aus BIP0341: Taproot: SegWit version 1 spending rules

3 „Gefällt mir“

Wie versendet die Bitbox2 dann ihre Bitcoins weil diese soweit ich weiß mit dem Public Key signiert werden und somit die Transaktion erst durchgeführt werden kann?

Kann ich mir auch nicht vorstellen. Soweit ich weiß kommt der Public Key nur beim versenden in den Einsatz.

Genau das war die ursprüngliche Frage.

Wenn dem so ist, wäre es ja durchaus sinnvoll auf der Bitbox/Ledger/Tresor zwei Adressen (1x deposit/HODL, 1x whitdraw) anzulegen, da dann von der deposit adresse ja nur die Adresse bekannt ist und eben kein Public Key.

Praktikabel uns sinnvoll, unabhängig von Quantencomputerthematik udgl. oder unnötig verkompliziert?

Naja, Ledger macht das schon gut mit den Adressen, aber wenn Du weißt das eine Adresse zum langfristigen Halten gedacht ist, dann machen nicht zwei Adressen mehr Sinn, sondern 2 Wallets. Das Standardwallet (mit withdraw) mit den 24 Wörtern und das Wallet zum Hodln mit der Passphrase(24+1).

Bei Bitcoin kommt der Elliptic Curve Digital Signature Algorithm (ECDSA) zum Einsatz. Signiert wird mit Hilfe des Private Keys. Überprüft werden kann die Echtheit der Signatur dann mit dem Public Key.

Das ist anders als bei Verfahren, wo Daten verschlüsselt übertragen werden. Hier wird mit dem Public Key des Empfängers verschlüsselt. Dieser entschlüsselt dann mit seinem Private Key.

Dieser Unterschied hat mich am Anfang auch verwirrt.

1 „Gefällt mir“

Sorry, war da zu ungenau. War schon so gedacht das der Secret Key die Verschlüsselung macht deswegen halt auch Secret Key aber bei der Verschlüsselung auch der Public Key mitgeliefert werden muss, weil sonst die Verifikation der Signatur nicht stattfinden kann. Würde mit dem Public Key signiert werden, wäre er ja bei der ersten Transaktion öffentlich und jeder könnte das Guthaben dann komplett abheben. Die Frage ist halt wenn bei der BitBox2 keine Public Keys übermittelt werden, was ich noch bezweifle, wie funktioniert das Senden dann dort ?

Ich hatte @Stadicus so verstanden, dass beim Abfragen der Balances kein Public Key versendet wird. Aber bei Transaktionen denke ich schon? Da hört es bei mir aber leider auch auf. Bin gerade erst noch dabei Mastering Bitcoin durchzulesen :slight_smile:

Ja, vielleicht habe ich etwas an der ursprünglichen Frage vorbei geschrieben. Zum Abfragen der Balance wird kein Public Key übermittelt, auch kein XPUB, nur die Adressen. Jede moderne Wallet generiert laufend neue Empfangsadressen mit dem Ziel, dass dieselbe Adresse nicht wiederverwendet wird.

Haben wir verstanden! Aber wie ist es beim Senden von Transaktionen? Wird der Public Key üblicherweise mit in die Transaktion gepackt, und falls ja, normal oder gehasht?

Ja, zum Senden einer Bitcoin-Transaktion ist der Public Key zwingender Bestandteil des „unlock scripts“. Er ist Teil der Transaktion und wird auf der Blockchain gespeichert. Das hat nichts mit verschiedenen Wallets zu tun, sondern ist im Bitcoin-Protokoll zwingend so festgelegt.

Erläuterung aus „Mastering Bitcoin“ von Andreas Antonopoulos:

3 „Gefällt mir“

Mit dem Public Key wird gar nichts signiert und schon gar nichts versendet. Du siehst dann lediglich, dass Nachricht XY oder Transaktion YX vom Besitzer (der den Private Key hat) des Public Keys signiert wurde. Public = Öffentlich. Der ist, sobald versendet wurde, öffentlich auf der Blockchain für jeden sichtbar. Man benötigt aber schon den Private Key um was anzustellen.

Ich hab das Julian Hosp Video nicht gesehen (vielleicht könnt ihr die Passage mal hier verlinken?), aber vermutlich meint er, dass die Adresse bis zum Versenden von Bitcoin (d.h. ich habe eine HODL Adresse die bisher nur empfangen hat) schwieriger zu „hacken“ ist. Das finde ich aber völlig bedeutungslos, da (im Gegensatz zu z.B. IOTA) selbst Adressen mit tausenden In- und Outputs nicht durch Brute Force etc. geknackt werden können. Nicht in den nächsten Jahren, zumindest.

Aber wie gesagt, ich weiß nicht wie er es im Video gemeint hat.

Im Prinzip hat er recht, ja. Aber ganz ehrlich? Ich würde mir da nicht soviele Gedanken darüber machen.

Des Weiteren ist es ja eigentlich so, dass es manchmal mehrere Stunden oder Tage braucht bis Transaktionen in den nächsten Block kommen. Wenn ich dann BTC von dieser Adresse verschicke (und die Transaktion zuerst 2 Tage im Mempool ist) wird ja trotzdem der Public Key veröffentlicht und wenn die Quantencomputer bis dahin schnell genug sind, bin ich meine BTC trotzdem los. :wink:

Aber zu deiner ursprünglichen Frage: Nein du musst dir nicht 2 x 24 Wörter merken bzw. sichern, da du dir soviele neue Adressen mit dem 24 Wörter-Seed generieren kannst wie du möchtest.

2 „Gefällt mir“

Okidoki, d.h. wenn ich das nun korrekt verstehe, kann ich sogar mit nur 1x „24 +Passphrase“ mehrere Adressen haben/verwenden/verwalten auf der Bitbox.

Das hilft mir weiter. Danke!

1 „Gefällt mir“