zk-Lokomotive / zkl-poc

workflow demo
0 stars 0 forks source link

demo: workflow PoC #1

Open fybx opened 2 months ago

fybx commented 2 months ago

we will connect the modules created so far and try to actually send a file between

me-imfhd commented 2 months ago

According to me, the workflow would be: 1) The user creates a ZKL wallet 2) The user uses his Solana wallet to register his ZKL wallet's public key (pays transaction fees) (point one and point two can be merged into one transaction) 3) The user searches for whom to send in the registry and encrypts the file with the zkl-crypto module 4) Encrypted file is uploaded to Arweave (pays storage fees) 5) Link to the encrypted file is hashed again similar to point 3 6) The hashed link is transferred to User 2 over blockchain (pays tx fees) 7) User 2 checks his received files 8) Decrypts the hashed Arweave URL 9) Decrypts the cipher text in the Arweave 10) User 2 reads the file

zkl-pk => secp256k1 wallet public key zkl-sk => secp256k1 wallet private key

cc: @fybx

Question: How will we manage the user's zkl wallet, like where do we store their private key to encrypt/decrypt files, on demand?

fybx commented 1 month ago

I'm thinking about using wallet's internal encrypt() and decrypt() methods to store the userPrivateKey in localStorage.

Ethereum/Metamask: https://github.com/MetaMask/eth-sig-util I couldn't find something related to this with Phantom: https://github.com/orgs/phantom/discussions/252