Private, but allow read for certain pub keys, is it possible?

AFAIK, the data in autonomi can only be public or private. Could it be possible to store private data and allow some defined public keys to read it.
I mean let’s say I have an app in my android phone that saves all my photos to autonomi. When I installed the app, it displayed a public key where I sent some ANT for it to be able to use the network. When I take a photo, it is stored to autonomi. I also have a desktop app which should be able to read the images. How to to that? Is the only possibility to use the same private key on both desktop and android app? Or is there a way to allow both read the images without knowing each others private keys?

4 Likes

The erc20 wallet address has nothing to do with the private/public data keys in the network - you can log into the same autonomi account from different devices and use different wallets as you wish to pay for uploads

(there is no such thing as the autonomi account in this second I think… But there will most certainly be something like it in the future…)

2 Likes

At this time also, when you consider all things, even uploading with the public flag set, it is still basically private till you share that datamap address.

Imagine lucking on a BTC address at random. Its like that for lucking on a datamap address but many many times harder. Even harder than lucking on a BTC private key.

That said, I am sure there will be Apps around that can use the splitting up of keys so you need 2 or more parts to be able to make a useful datamap address. Using that in ways to be able to share around part address and only if the other person has the other half can they read the file.

5 Likes

BLS keys should support n of m multisig out of the box I think

5 Likes

Even pre-ERC20, the address of Registers was tied to your private key so that only you can update it. Same for all mutable types, so your ERC20 wallet is tied to all mutable data you create.

The privacy issue around this was always present, as if someone gets your private key they can tell that it was used to create specific data, and implicitly created by you.

However, the loss of anonymity from having all this on blockchain, and having to top up addresses to keep using them with two blockchain tokens makes the privacy issue much more of a concern, to me at least.

3 Likes

Have I understood this correctly:

  1. I have one private and one public key, and they are the same ERC-20 keys which defines my wallet
  2. when I usually upload something private, the data is self encrypted. The map which tells where the data is, is encrypted using my public key. I can decrypt the map with my private key and find the data blocks.
  3. I pay by signing the transaction with my private key

So can I upload a file, encrypt the map with any 2 (or n?) public keys and pay with one of my private keys?

This part is not correct. All data is self-encrypted and anyone with the data map address can decrypt this.

Privacy is maintained only by not publishing the data map address, so for private data these are ‘hidden’ inside your vault which only you can access using your private key.

So the effect is similar, but not quite as you describe.

This is an area I haven’t thought about so I don’t want to comment on how this might be achieved, if it can.

1 Like

Your wallet is just a ERC20 wallet for payments, nothing to do with data stored

Always

Data is encrypted with self encryption whether private or public. The ERC20 key pair (wallet) has nothing to do with this.

3 Likes

which is not the same private key - at least it doesn’t need to be the same … i create an arbitrary secret key in python and for the upload-payment i use an arbitrary payment wallet …

this simply isn’t the case - only if you choose to do so it might be … but why would you want to use the same key for your wallet as for your “autonomi account” …? you probably want to use multiple wallets in your singled autonomi account …

okay - it at least seems to be technically possible to use a BLS private key for signing ethereum transactions and data transactions on autonomi - so you’re not entirely wrong that this could be done … but then again … why would someone want to bundle these together would mean I need to change my autonomy account when my wallet key somehow got leaked somewhere or I want to move to multi-sig … or …

1 Like

This needs clarifying - I think and hope you are correct here so I’ll look into how I can change this in my code! Thanks for (probably) putting me right.

Assuming you are correct, it puts the onus on app writers not to use the same key for both and as it is not obvious or easy to avoid that, it is going to happen and I think likely to be a de facto privacy issue.

To clarify - these are NOT derived keys but generated entirely separately?

2 Likes

I never used the same key for my Scratchpad/pointer tests… But always used the same wallet to pay for my uploads… They’re disconnected

1 Like

Different sources for the keys… It didn’t even come to my mind they might be compatible

1 Like