I uploaded this video a few days ago that goes over how to send and receive MimbleWimble Coin with Ledger Live Desktop. The second half of the video focuses on doing the same with Grin. Enjoy!
You can download the version of Ledger Live Desktop shown in the video here.
You can install the hardware wallet apps shown in the video onto a Ledger Nano S or Ledger Nano S Plus hardware wallet here.
First I highly appreciate progress for grin ledger support.
At 09:21 i see verification of slatepack address on hardware wallet. (button pushed on Hardware wallet.)
But the Address seems to be irrelevant since it is not used on sender side or for transportation of slatepack message.
At 09:52 first slatepack message is copied from sender wallet to Ledger Live Desktop window. Continue button is clicked on Desktop window.
At 10:44 Desktop window suggests âyou received 9.970156â and also shows slatepack reply without any need to push a button on hardware-wallet. If your consider the desktop as as (partly) untrusted the information passed from the trusted device to the untrusted device automatically. And user does not know if the wallet automatically tries to transport the slatepack reply back to sender.
I wished for a required action on hardware wallet button, before signed information goes from (trusted) hardware wallet to (partly untrusted) desktop application. But showing the User necessary information to decide, whether to sign or decline on the trusted screen.
Correct, user confirmation is only required on the hardware wallet when sending Grin and not when receiving Grin.
TradeOgre doesnât support sending to a Slatepack address which is why I donât use the Slatepack address in the video. Ledger Live Desktop only supports receiving Grin from manually entering non-encrypted and encrypted Slatepacks. The Slatepack address should be used by the sender if they want to encrypt the Slatepack and/or if they want the Slatepack to contain a payment proof.
Correct, Ledger Live Desktop uses the SRS workflow for sending and receiving Grin. This is the first step in that workflow.
It seems unnecessary to require user confirmation on a hardware wallet when receiving Grin since doing so doesnât guarantee anything. Even after a Slatepack is âsignedâ by a recipient, malicious software could always send its own valid response back to the sender (if the Slatepack doesnât contain a payment proof).
Currently, the only way that I know of to guarantee that a Slatepack was âsignedâ by the intended recipient is to have the Slatepack contain a payment proof. The payment proof allows the sender to verify the recipientâs Slatepack address after they receive the Slatepack response from the recipient. The recipientâs Slatepack address is verified by the recipient on their hardware wallet, and the sender is shown the recipientâs Slatepack address on their hardware wallet when approving the transaction if thereâs a payment proof. The recipientâs hardware wallet creates the payment proof signature when receiving Grin, and the senderâs hardware wallet verifies the payment proof signature when sending Grin.
âTradeOgre doesnât support sending to a Slatepack addressâ, just curious by what you mean here, because I bought and sent Grin to my grin-wallet via TradeOgre few days ago with Slatepack copy/paste mechanism. So maybe you mean something else, but was curious to understand.
Thanks!
The Slatepacks generated by TradeOgre when withdrawing Grin can be receive by anyone since they donât have a specific Slatepack address set as the Slatepackâs destination.
You can set a Slatepackâs destination when sending Grin with the CLI wallet by using the the optional --dest argument. When a Slatepack address is set as the destination, the Slatepack will be encrypted and contain a payment proof so that only the intended recipient can receive the Slatepack.
Understood, thanks. So if by huge mischance someone else get the Slatepack from TradeOgre and use it before you (not realistic situation though except if full laptop hacked already) they could receive it.
Yes, if someone else got your Slatepack from TradeOgre and sent their Slatepack response back to TradeOgre before you do then they will receive the Grin and you wont.
Anyone can create a valid response to a Slatepack if it isnât encrypted and doesnât contain a payment proof, and the transactionâs sender has no way of knowing who actually âsignedâ the Slatepack response if it doesnât contain a payment proof.
Itâs probably going to be several more months before MWC and Grin are added to the official Ledger Live Desktop. Ledger wonât merge a PR with my changes into Ledger Live Desktop & Ledger Live Mobile until Ledger finishes reviewing the hardware wallet app.
You can see where Ledger currently is in the review process here. They have limited resources when it comes to reviewing apps, so the process has been pretty slow so far.
Also, hereâs all the changes that Iâve made to the hardware wallet apps and Ledger software since my last post. Huge thanks to the MimbleWimble Coin and Grin communities for suggesting several of these changes!
Requires user confirmation on the hardware wallet when receiving.
Hardware wallets shows a progress bar when creating Bulletproofs.
Sped up creating Bulletproofs on hardware wallets by about 10%.
Ledger Live Desktop/Mobile give the option to change a transactionâs base fee.
Ledger Live Desktop/Mobile show a syncing percent when adding a new account.
Fixes sending to and receiving from Grin++.
Fixes transactions being removed when clearing the cache in Leger Live Desktop/Mobile.
Implemented several optimizations to reduce syncing times.
And with that, everything required by Ledger to add MimbleWimble Coin and Grin support to their official Ledger Live Desktop and Ledger Live Mobile releases is now complete Now we just have to wait for Ledger to finish auditing the code and merging in the changes. However, based on how slowly Ledger seems to operate, Iâm not expecting this to happen anytime soon.
Should I ignore the MWC update available in Ledger Live desktop? Iâm using the custom Grin integration with the installed MWC/Grin apps via the tutorial. Iâm not sure if updating Ledger Liveâs version of MWC will break the integration. Thanks!
Just found a news related to Ledgerâs statement: âTechnically speaking it is and always has been possible to write firmware that facilitates key extraction. You have always trusted Ledger not to deploy such firmware whether you knew it or not,â
So is it true according to you? And is grin impacted same?
Source: Crypto Wallet Maker Ledger Continues to Defend Recovery System, Vexes Crypto Twitter
You have trusted ledger, because Ledger is closed source. If it was open source, like Trezor or countless other wallets, people in the community would notice suspicious key extraction code.
Please for the love of god, everyone stop using closed source proprietary wallets.