Content
@
0 reply
0 recast
0 reaction
Stephan
@stephancill
Where is the private key for warpcast wallet stored? cc @horsefacts.eth @v
10 replies
5 recasts
46 reactions
Tony D’Addeo
@deodad
private key is shamir sharded on your device into 3 shards, any 2 of which can reconstruct the PK 1 shard remains on the device 1 shard is encrypted by a key that warpcast holds (recovery shard) 1 shard is encrypted by a key that Privy holds (auth shard) all encryption also happens on your client effectively the recovery and auth shards are both accessible by your custody address but via authing with two separate service providers it’d take two separate breaches of warpcast and privy to compromise key material the reasons for doing this instead of simple EOA are 1) users won’t lose access to their funds bc it inherits the Farcaster recovery system since 2/3 can be accessed via SIWF (all without needing the user to backup anything themselves) 2) users can seamlessly access their wallet on any device (i.e. web) without needing to manually move a seed phase around in a reasonably secure way
7 replies
6 recasts
50 reactions
Tony D’Addeo
@deodad
there are certainly trade offs to this approach and we considered a few others, mainly simple EOA and 4337 w signers but this one had the best UX / security trade offs in our mind there will be power users who don’t want to use it and that’s ok, we want to keep doubling down on MWP anyway so users have maximum flexibility
2 replies
0 recast
21 reactions
MOΞ
@moe
thank you for sharing. i'm curious, did you guys consider using an embedded wallet service provider like privy server wallets for example? if so, what were the cons that made you decide against it?
1 reply
0 recast
2 reactions
Tony D’Addeo
@deodad
for end users, we didn't see any advantage to server wallets over 4337 with a signer held by a WaaS provider, since you get all the niceties of a server wallet, accessible anywhere via arbitrary auth mechanisms and policy engines, while still giving the user an out in the form of being able to revoke the signing key if they like
1 reply
0 recast
3 reactions