Bitcoin Forum
May 09, 2024, 06:12:58 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Where does Ledger Nano S store labels?  (Read 626 times)
rkagerer (OP)
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
September 16, 2017, 04:43:08 AM
 #1

I haven't played around much with the Nano S but I'm told you can label addresses.  Where are your labels stored?  On the device?  On Nano servers?
Trezor provides this functionality by linking up with your Dropbox account.

I'm finding it somewhat challenging to locate deep technical information to answer questions like this about how these devices work.
"I'm sure that in 20 years there will either be very large transaction volume or no volume." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715235178
Hero Member
*
Offline Offline

Posts: 1715235178

View Profile Personal Message (Offline)

Ignore
1715235178
Reply with quote  #2

1715235178
Report to moderator
1715235178
Hero Member
*
Offline Offline

Posts: 1715235178

View Profile Personal Message (Offline)

Ignore
1715235178
Reply with quote  #2

1715235178
Report to moderator
sowbug
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile WWW
December 15, 2017, 09:44:10 PM
 #2

I can't answer authoritatively, but I have some observations that suggest they're stored in the cloud.

I have two Ledger Nano S devices. One is a hardware backup of the other. During initial setup, I ran into a weird bug with the Chrome App that made one of the BIP32 chain accounts incapable of being labeled. The UI rendering appeared to crash when it tried to display a null label, so the button you'd press to change the label never showed up. The callback that changed the account's balance from the default of zero to its true balance didn't run, either, which was momentarily very alarming.

Anyway, I hoped that the labels lived on the device, so I hard-reset it and set it up again. The prior labels (including the null one) returned. My working theory at this point was that the labels lived in the cloud, but there was also a possibility that they were stored in the Chrome App's local synced storage. To test that theory, I set up the second Nano with the same BIP39 seed using a completely different Google account. The prior labels still appeared on the second wallet. This ruled out storage in the Chrome App. The only place left to store the labels would be the cloud.

So based on this evidence, my theory is:

  • Ledger runs a cloud key/value storage service.
  • The key is probably a hash based on the BIP32 xpub for the account.
  • I hope but can't prove that the value is symmetrically encrypted with something based on the account's xprv. If it's sent or stored in cleartext, then the Ledger team has a lot of very private data about user accounts ("Spending money," "Illegal stuff," "I am Satoshi," etc.).

The service could also have access to account balances, but that's a risk that comes with any wallet connected to an online computer.

By the way, I fixed the null label bug by opening the Chrome App's developer console, confirming that it indeed was throwing an exception, and then modifying the in-memory code to add
Code:
if (!label) {label="fixed";}
which got me far enough to get to account settings, where I was able to set the label for real. It persisted after that and all was well.
HCP
Legendary
*
Offline Offline

Activity: 2086
Merit: 4316

<insert witty quote here>


View Profile
December 21, 2017, 04:31:15 AM
 #3

It would appear that it is using Chrome App storage... So, local... and possibly in the Chrome Sync cloud somewhere! Tongue

Refer: https://github.com/LedgerHQ/ledger-wallet-chrome/tree/master/app/src/storage

And

https://developer.chrome.com/apps/storage

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!